国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Redis命令---Hash(哈希)篇 (超全)

這篇具有很好參考價值的文章主要介紹了Redis命令---Hash(哈希)篇 (超全)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.Redis Hmset 命令 - 同時將多個 field-value (域-值)對設(shè)置到哈希表 key 中。

簡介

如果哈希表不存在,會創(chuàng)建一個空哈希表,并執(zhí)行 HMSET 操作。此命令會覆蓋哈希表中已存在的字段。Redis Hmset 命令用于同時將多個 field-value (字段-值)對設(shè)置到哈希表中。Redis 哈希(Hash)

語法

redis 127.0.0.1:6379> HMSET KEY_NAME FIELD1 VALUE1 ...FIELDN VALUEN

可用版本: >= 2.0.0

返回值: 如果命令執(zhí)行成功,返回 OK 。

示例

redis 127.0.0.1:6379> HSET myhash field1 "foo" field2 "bar"
OK
redis 127.0.0.1:6379> HGET myhash field1
"foo"
redis 127.0.0.1:6379> HMGET myhash field2
"bar"

2.Redis Hmget 命令 - 獲取所有給定字段的值

簡介

如果指定的字段不存在于哈希表,那么返回一個 nil 值。Redis Hmget 命令用于返回哈希表中,一個或多個給定字段的值。Redis 哈希(Hash)

語法

redis 127.0.0.1:6379> HMGET KEY_NAME FIELD1...FIELDN

可用版本: >= 2.0.0

返回值: 一個包含多個給定字段關(guān)聯(lián)值的表,表值的排列順序和指定字段的請求順序一樣。

示例

redis 127.0.0.1:6379> HSET myhash field1 "foo"
(integer) 1
redis 127.0.0.1:6379> HSET myhash field2 "bar"
(integer) 1
redis 127.0.0.1:6379> HMGET myhash field1 field2 nofield
1) "foo"
2) "bar"
3) (nil)

3.Redis Hset 命令 - 將哈希表 key 中的字段 field 的值設(shè)為 value 。

簡介

如果字段已經(jīng)存在于哈希表中,舊值將被覆蓋。如果哈希表不存在,一個新的哈希表被創(chuàng)建并進行 HSET 操作。Redis Hset 命令用于為哈希表中的字段賦值 。Redis 哈希(Hash)

語法

redis 127.0.0.1:6379> HSET KEY_NAME FIELD VALUE

可用版本: >= 2.0.0

返回值: 如果字段是哈希表中的一個新建字段,并且值設(shè)置成功,返回 1 。 如果哈希表中域字段已經(jīng)存在且舊值已被新值覆蓋,返回 0 。

示例

redis 127.0.0.1:6379> HSET myhash field1 "foo"
OK
redis 127.0.0.1:6379> HGET myhash field1
"foo"

redis 127.0.0.1:6379> HSET website google "www.g.cn"       # 設(shè)置一個新域
(integer) 1

redis 127.0.0.1:6379>HSET website google "www.google.com" # 覆蓋一個舊域
(integer) 0

4.Redis Hgetall 命令 - 獲取在哈希表中指定 key 的所有字段和值

簡介

在返回值里,緊跟每個字段名(field name)之后是字段的值(value),所以返回值的長度是哈希表大小的兩倍。Redis Hgetall 命令用于返回哈希表中,所有的字段和值。Redis 哈希(Hash)

語法

redis 127.0.0.1:6379> HGETALL KEY_NAME

可用版本: >= 2.0.0

返回值: 以列表形式返回哈希表的字段及字段值。 若 key 不存在,返回空列表。

示例

redis 127.0.0.1:6379> HSET myhash field1 "foo"
(integer) 1
redis 127.0.0.1:6379> HSET myhash field2 "bar"
(integer) 1
redis 127.0.0.1:6379> HGETALL myhash
1) "field1"
2) "Hello"
3) "field2"
4) "World"

5.Redis Hget 命令 - 獲取存儲在哈希表中指定字段的值/td>

簡介

Redis Hget 命令用于返回哈希表中指定字段的值。Redis 哈希(Hash)

語法

redis 127.0.0.1:6379> HGET KEY_NAME FIELD_NAME

可用版本: >= 2.0.0

返回值: 返回給定字段的值。如果給定的字段或 key 不存在時,返回 nil 。

示例

# 字段存在

redis> HSET site redis redis.com
(integer) 1

redis> HGET site redis
"redis.com"


# 字段不存在

redis> HGET site mysql
(nil)

6.Redis Hexists 命令 - 查看哈希表 key 中,指定的字段是否存在。

簡介

Redis Hexists 命令用于查看哈希表的指定字段是否存在。Redis 哈希(Hash)

語法

redis 127.0.0.1:6379> HEXISTS KEY_NAME FIELD_NAME

可用版本: >= 2.0.0

返回值: 如果哈希表含有給定字段,返回 1 。 如果哈希表不含有給定字段,或 key 不存在,返回 0 。

示例

redis 127.0.0.1:6379> HSET myhash field1 "foo"
(integer) 1
redis 127.0.0.1:6379> HEXISTS myhash field1
(integer) 1
redis 127.0.0.1:6379> HEXISTS myhash field2
(integer) 0

7.Redis Hincrby 命令 - 為哈希表 key 中的指定字段的整數(shù)值加上增量 increment 。

簡介

本操作的值被限制在 64 位(bit)有符號數(shù)字表示之內(nèi)。對一個儲存字符串值的字段執(zhí)行 HINCRBY 命令將造成一個錯誤。如果指定的字段不存在,那么在執(zhí)行命令前,字段的值被初始化為 0 。如果哈希表的 key 不存在,一個新的哈希表被創(chuàng)建并執(zhí)行 HINCRBY 命令。增量也可以為負數(shù),相當于對指定字段進行減法操作。Redis Hincrby 命令用于為哈希表中的字段值加上指定增量值。Redis 哈希(Hash)

語法

redis 127.0.0.1:6379> HINCRBY KEY_NAME FIELD_NAME INCR_BY_NUMBER

可用版本: >= 2.0.0

返回值: 執(zhí)行 HINCRBY 命令之后,哈希表中字段的值。

示例

redis 127.0.0.1:6379> HSET myhash field1 20
(integer) 1
redis 127.0.0.1:6379> HINCRBY myhash field 1
(integer) 21
redis 127.0.0.1:6379> HINCRBY myhash field -1
(integer) 20

8.Redis Hlen 命令 - 獲取哈希表中字段的數(shù)量

簡介

Redis Hlen 命令用于獲取哈希表中字段的數(shù)量。Redis 哈希(Hash)

語法

redis 127.0.0.1:6379> HLEN KEY_NAME

可用版本: >= 2.0.0

返回值: 哈希表中字段的數(shù)量。 當 key 不存在時,返回 0 。

示例

redis 127.0.0.1:6379> HSET myhash field1 "foo"
(integer) 1
redis 127.0.0.1:6379> HSET myhash field2 "bar"
(integer) 1
redis 127.0.0.1:6379> HLEN myhash
(integer) 2

9.Redis Hdel 命令 - 刪除一個或多個哈希表字段

簡介

Redis Hdel 命令用于刪除哈希表 key 中的一個或多個指定字段,不存在的字段將被忽略。Redis 哈希(Hash)

語法

redis 127.0.0.1:6379> HDEL KEY_NAME FIELD1.. FIELDN

可用版本: >= 2.0.0

返回值: 被成功刪除字段的數(shù)量,不包括被忽略的字段。

示例

redis 127.0.0.1:6379> HSET myhash field1 "foo"
(integer) 1
redis 127.0.0.1:6379> HDEL myhash field1
(integer) 1
redis 127.0.0.1:6379> HDEL myhash field2
(integer) 0

10.Redis Hvals 命令 - 獲取哈希表中所有值

簡介

Redis Hvals 命令返回哈希表所有字段的值。Redis 哈希(Hash)

語法

redis 127.0.0.1:6379> HVALS KEY_NAME FIELD VALUE

可用版本: >= 2.0.0

返回值: 一個包含哈希表中所有值的表。 當 key 不存在時,返回一個空表。

示例

redis 127.0.0.1:6379> HSET myhash field1 "foo"
(integer) 1
redis 127.0.0.1:6379> HSET myhash field2 "bar"
(integer) 1
redis 127.0.0.1:6379> HVALS myhash
1) "foo"
2) "bar"

# 空哈希表/不存在的key

redis 127.0.0.1:6379> EXISTS not_exists
(integer) 0

redis 127.0.0.1:6379> HVALS not_exists
(empty list or set)

11.Redis Hincrbyfloat 命令 - 為哈希表 key 中的指定字段的浮點數(shù)值加上增量 increment 。

簡介

如果指定的字段不存在,那么在執(zhí)行命令前,字段的值被初始化為 0 。Redis Hincrbyfloat 命令用于為哈希表中的字段值加上指定浮點數(shù)增量值。Redis 哈希(Hash)

語法

redis 127.0.0.1:6379> HINCRBYFLOAT KEY_NAME FIELD_NAME INCR_BY_NUMBER

可用版本: >= 2.6.0

返回值: 執(zhí)行 Hincrbyfloat 命令之后,哈希表中字段的值。

示例

redis 127.0.0.1:6379> HSET myhash field 20.50
(integer) 1
redis 127.0.0.1:6379> HINCRBYFLOAT mykey field 0.1
"20.60"

12.Redis Hkeys 命令 - 獲取所有哈希表中的字段

簡介

Redis Hkeys 命令用于獲取哈希表中的所有字段名。Redis 哈希(Hash)

語法

redis 127.0.0.1:6379> HKEYS KEY_NAME FIELD_NAME INCR_BY_NUMBER

可用版本: >= 2.0.0

返回值: 包含哈希表中所有字段的列表。 當 key 不存在時,返回一個空列表。

示例

redis 127.0.0.1:6379> HSET myhash field1 "foo"
(integer) 1
redis 127.0.0.1:6379> HSET myhash field2 "bar"
(integer) 1
redis 127.0.0.1:6379> HKEYS myhash
1) "field1"
2) "field2"

13.Redis Hsetnx 命令 - 只有在字段 field 不存在時,設(shè)置哈希表字段的值。

簡介

如果 key 不存在,一個新哈希表被創(chuàng)建并執(zhí)行 HSETNX 命令。如果字段已經(jīng)存在于哈希表中,操作無效。如果哈希表不存在,一個新的哈希表被創(chuàng)建并進行 HSET 操作。Redis Hsetnx 命令用于為哈希表中不存在的的字段賦值 。Redis 哈希(Hash)

語法

redis 127.0.0.1:6379> HSETNX KEY_NAME FIELD VALUE

可用版本: >= 2.0.0

返回值: 設(shè)置成功,返回 1 。 如果給定字段已經(jīng)存在且沒有操作被執(zhí)行,返回 0 。

示例

redis 127.0.0.1:6379> HSETNX myhash field1 "foo"
(integer) 1
redis 127.0.0.1:6379> HSETNX myhash field1 "bar"
(integer) 0
redis 127.0.0.1:6379> HGET myhash field1
"foo"

redis 127.0.0.1:6379> HSETNX nosql key-value-store redis
(integer) 1

redis 127.0.0.1:6379> HSETNX nosql key-value-store redis       # 操作無效, key-value-store 已存在
(integer) 0

總結(jié)

redis hmget,Redis,redis,哈希算法,數(shù)據(jù)庫

往期回顧
Redis命令—String篇 (超全)
Redis命令—key篇 (超全)
文章來源地址http://www.zghlxwxcb.cn/news/detail-827172.html

到了這里,關(guān)于Redis命令---Hash(哈希)篇 (超全)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【Redis】Hash 哈希內(nèi)部編碼方式

    【Redis】Hash 哈希內(nèi)部編碼方式

    哈希的內(nèi)部編碼有兩種: ziplist(壓縮列表):當哈希類型元素個數(shù)?于hash-max-ziplist-entries配置(默認512個)、同時所有值都?于hash-max-ziplist-value配置(默認64字節(jié))時,Redis會使?ziplist作為哈希的內(nèi)部實現(xiàn),ziplist使?更加緊湊的結(jié)構(gòu)實現(xiàn)多個元素的連續(xù)存儲,所以在節(jié)省內(nèi)

    2024年02月07日
    瀏覽(25)
  • Redis數(shù)據(jù)類型-Hash哈希存儲類型

    Redis數(shù)據(jù)類型-Hash哈希存儲類型

    小白:偉哥,java中的Map集合類型在Redis中有對應(yīng)的存儲嗎? 偉哥:有的,我?guī)銛]一波。 Redis的hash哈希存儲類型,類似于是java中的map存儲結(jié)構(gòu),適合用來存儲對象,每個哈希最多可以存儲4294967295(2^32-1)個字段值對,具體數(shù)量實際上也受Redis部署的虛擬機上的總內(nèi)存的限制

    2024年02月12日
    瀏覽(22)
  • redis Hash類型命令

    Redis中的Hash類型有多個常用命令可用于對Hash鍵進行操作。以下是一些常見的Redis Hash類型命令: HSET:設(shè)置Hash字段的值。 它將指定字段與相應(yīng)的值關(guān)聯(lián)起來,如果字段已經(jīng)存在,則更新其值,如果字段不存在,則創(chuàng)建一個新的字段并設(shè)置值。 具體的命令語法如下: 其中,

    2024年02月13日
    瀏覽(19)
  • Redis Redis的數(shù)據(jù)結(jié)構(gòu) - 通用命令 - String類型命令 - Hash類型命令

    Redis Redis的數(shù)據(jù)結(jié)構(gòu) - 通用命令 - String類型命令 - Hash類型命令

    目錄 Redis的數(shù)據(jù)結(jié)構(gòu): Redis命令: 通用命令:(通用指令是部分數(shù)據(jù)類型的,都可以使用的指令) KEYS查詢命令: DEL刪除命令: EXISTS判斷命令: EXPIPE有效期設(shè)置命令: TTL查看剩余期限命令: String類型: String的3種類型: String類型的常見命令: SET插入數(shù)據(jù)命令: MSET多重插

    2024年02月09日
    瀏覽(51)
  • redis命令之hash類型操作命令

    redis命令之hash類型操作命令

    目錄 1、添加、查詢、刪除指令 ?2、hlen 3、hexists 4、獲取字段/獲取值 5、字段對應(yīng)值的增加/減少 6、?hsetnx 7、hash類型使用案例 hash類型介紹:KV模式不變,但V是一個鍵值對,類似java中的map集合嵌套:MapString, MapObject, Object 1、添加、查詢、刪除指令 ? ? ? ? (1)hset ? ? ? ?

    2024年02月05日
    瀏覽(17)
  • Redis擴容與一致性Hash算法解析

    作者:zhaokk 在分布式系統(tǒng)中,隨著數(shù)據(jù)量的增加和負載的變化,對于存儲系統(tǒng)的擴容變得尤為重要。Redis作為一種高性能的內(nèi)存數(shù)據(jù)庫,其在擴容方面采用了一致性Hash算法,以實現(xiàn)無縫的數(shù)據(jù)分布和負載均衡。本篇博客將詳細探討Redis的擴容機制,同時深入解析一致性Hash算法

    2024年02月12日
    瀏覽(47)
  • Redis 數(shù)據(jù)類型及其常用命令一(string、list、set、zset、hash)

    Redis 數(shù)據(jù)類型及其常用命令一(string、list、set、zset、hash)

    1、簡介 ? ? ? ? Redis 的常用數(shù)據(jù)類型有十種,分別為:string、list、set、zset、hash、geo、hyperloglog、bitmap、bitfield、stream。熟練使用各種數(shù)據(jù)類型,能夠快速結(jié)合場景進行使用。 注:我們所說的數(shù)據(jù)類型是指 value 的數(shù)據(jù)類型,key 都是字符串。 所有類型的命令查看:help @數(shù)據(jù)類

    2024年03月13日
    瀏覽(29)
  • Redis 原理緩存過期、一致性hash、雪崩、穿透、并發(fā)、布隆、緩存更新策略、緩存數(shù)據(jù)庫一致性

    Redis 原理緩存過期、一致性hash、雪崩、穿透、并發(fā)、布隆、緩存更新策略、緩存數(shù)據(jù)庫一致性

    redis的過期策略可以通過配置文件進行配置 redis會把設(shè)置了過期時間的key放在單獨的字典中,定時遍歷來刪除到期的key。 1).每100ms從過期字典中 隨機挑選20個,把其中過期的key刪除; 2).如果過期的key占比超過1/4,重復(fù)步驟1 為了保證不會循環(huán)過度,導(dǎo)致卡頓,掃描時間上限

    2024年02月08日
    瀏覽(31)
  • Redis擴容機制與一致性哈希算法解析

    在分布式系統(tǒng)設(shè)計中,Redis是一個備受歡迎的內(nèi)存數(shù)據(jù)庫,而一致性哈希算法則是分布式系統(tǒng)中常用的數(shù)據(jù)分片和負載均衡技術(shù)。本文將深入探討Redis的擴容機制以及一致性哈希算法的原理,同時提供示例代碼以幫助讀者更好地理解這兩個重要概念。 Redis是一種高性能的內(nèi)存數(shù)

    2024年02月11日
    瀏覽(43)
  • Redis 數(shù)據(jù)庫的概念、常用命令

    Redis 數(shù)據(jù)庫的概念、常用命令

    1、關(guān)系型數(shù)據(jù)庫 關(guān)系型數(shù)據(jù)庫是一個結(jié)構(gòu)化的數(shù)據(jù)庫,創(chuàng)建在關(guān)系模型(二維表格模型)基礎(chǔ)上,一般面向于記錄。 SQL 語句(標準數(shù)據(jù)查詢語言)就是一種基于關(guān)系型數(shù)據(jù)庫的語言,用于執(zhí)行對關(guān)系型數(shù)據(jù)庫中數(shù)據(jù)的檢索和操作。 主流的關(guān)系型數(shù)據(jù)庫包括 Oracle、MySQL、S

    2024年02月12日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包