Redis基本數(shù)據(jù)類型哈希Hash常用操作命令
Redis數(shù)據(jù)類型Hash常用操作
redis里的hash是一個string類型的field(字段)和value(值)的映射表。特別適合用于存儲對象,每個hash可以存儲40多億鍵值對。
熟悉python的童鞋可以想象成字典dict。之前的數(shù)據(jù)類型存儲都是k-v這樣,而hash的存儲就是k-dict,dict里又會有屬于自己的k-v。
一、hset
為哈希表中的字段賦值,如果哈希表不存在,創(chuàng)建一個新的哈希表被并進(jìn)行hset操作。
如果字段已經(jīng)存在于哈希表中,舊值將被覆蓋。
hset myhash k1 v1

二、hget
返回哈希表中指定字段的值,如果給定的字段或 key 不存在時,返回 nil。
hget myhash k1

三、hmset
同時將多個 field-value 對設(shè)置到哈希表中。
hmset myhash k2 v2 k3 v3
如果哈希表中已存在的字段,則覆蓋。
如果哈希表不存在,會創(chuàng)建一個空哈希表,并執(zhí)行hset操作。

四、hmget
返回哈希表中,一個或多個給定字段的值。
hmget myhash k1 k2 k3 k4
如果指定的字段不存在于哈希表,那么返回一個nil值。

五、hgetall
返回哈希表中,所有的字段和值。
hgetall myhash
注意,在返回值里,緊跟每個字段名(field name)之后是字段的值(value),所以返回值的長度是哈希表大小的兩倍。

六、hdel
刪除哈希表 key 中的一個或多個指定字段,不存在的字段將被忽略。
hdel myhash k2 k3 k5
返回的是被成功刪除字段的數(shù)量,不包括被忽略的字段。

七、hlen
獲取哈希表中字段的數(shù)量。
hlen myhash

八、hexists
查看哈希表的指定字段是否存在。
hexists myhash k1
如果哈希表含有給定字段,返回 1。
如果哈希表不含有給定字段,或 key 不存在,返回 0 。

九、hkeys
獲取哈希表中的所有字段(field)。
hkeys myhash
包含哈希表中所有字段(field)列表。 當(dāng) key 不存在時,返回一個空列表。

十、hvals
返回哈希表所有字段(field)的值。
hvals myhash
返回一個包含哈希表中所有字段(field)值的列表。 當(dāng) key 不存在時,返回一個空表。

十一、hincrby
為哈希表中的字段值加上指定增量值,這個增量也可以是負(fù)數(shù),相當(dāng)于減法。
若哈希表的 key 不存在,創(chuàng)建一個新的哈希表被并執(zhí)行hincrby命令。
若指定的字段不存在,那么在執(zhí)行命令前,字段的值被初始化為 0 。
若對儲存字符串值的字段執(zhí)行,會報錯。

十二、hsetnx
為哈希表中不存在的的字段賦值。
若哈希表不存在,創(chuàng)建新的哈希表并進(jìn)行 hset 操作。
如果字段已經(jīng)存在于哈希表中,操作無效。
如果key不存在,創(chuàng)建新哈希表并執(zhí)行hsetnx命令。

關(guān)于redis中hash的應(yīng)用,比如保存用戶信息數(shù)據(jù)、經(jīng)常變動的信息,如果不想使用傳統(tǒng)的k-v對象去存儲,可以用redis的hash。
以上就是Redis基本數(shù)據(jù)類型哈希Hash常用命令操作的詳細(xì)內(nèi)容,更多關(guān)于Redis數(shù)據(jù)類型哈希Hash操作命令的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
深入理解Redis內(nèi)存回收和內(nèi)存淘汰機制
Redis使用多種過期策略和內(nèi)存淘汰機制來管理內(nèi)存,本文主要介紹了深入理解Redis內(nèi)存回收和內(nèi)存淘汰機制, 具有一定的參考價值,感興趣的可以了解一下2024-06-06
使用JMeter插件Redis Data Set如何實現(xiàn)高性能數(shù)據(jù)驅(qū)動測試
RedisDataSet插件是JMeter的一個插件,可以實現(xiàn)從Redis中動態(tài)加載數(shù)據(jù),并將其用作測試參數(shù),本文詳細(xì)介紹如何在JMeter中使用RedisDataSet插件,幫助你實現(xiàn)高效的數(shù)據(jù)驅(qū)動測試2025-01-01
解析高可用Redis服務(wù)架構(gòu)分析與搭建方案
我們按照由簡至繁的步驟,搭建一個最小型的高可用的Redis服務(wù)。 本文通過四種方案給大家介紹包含每種方案的優(yōu)缺點及詳細(xì)解說,具體內(nèi)容詳情跟隨小編一起看看吧2021-06-06
Redis中Stream詳解及應(yīng)用小結(jié)
Redis Streams是Redis 5.0引入的新功能,提供了一種類似于傳統(tǒng)消息隊列的機制,但具有更高的靈活性和可擴(kuò)展性,本文給大家介紹Redis中Stream詳解及應(yīng)用小結(jié),感興趣的朋友一起看看吧2025-07-07
如何利用Redis?List實現(xiàn)Java數(shù)據(jù)庫分頁快速查詢
這篇文章主要給大家介紹了關(guān)于如何利用Redis?List實現(xiàn)Java數(shù)據(jù)庫分頁快速查詢的相關(guān)資料,Redis是一個高效的內(nèi)存數(shù)據(jù)庫,它支持包括String、List、Set、SortedSet和Hash等數(shù)據(jù)類型的存儲,需要的朋友可以參考下2024-02-02

