Redis基本數(shù)據(jù)類型哈希Hash常用操作命令
Redis數(shù)據(jù)類型Hash常用操作
redis里的hash是一個(gè)string類型的field(字段)和value(值)的映射表。特別適合用于存儲(chǔ)對(duì)象,每個(gè)hash可以存儲(chǔ)40多億鍵值對(duì)。
熟悉python的童鞋可以想象成字典dict。之前的數(shù)據(jù)類型存儲(chǔ)都是k-v這樣,而hash的存儲(chǔ)就是k-dict
,dict
里又會(huì)有屬于自己的k-v
。
一、hset
為哈希表中的字段賦值,如果哈希表不存在,創(chuàng)建一個(gè)新的哈希表被并進(jìn)行hset操作。
如果字段已經(jīng)存在于哈希表中,舊值將被覆蓋。
hset myhash k1 v1
二、hget
返回哈希表中指定字段的值,如果給定的字段或 key 不存在時(shí),返回 nil。
hget myhash k1
三、hmset
同時(shí)將多個(gè) field-value 對(duì)設(shè)置到哈希表中。
hmset myhash k2 v2 k3 v3
如果哈希表中已存在的字段,則覆蓋。
如果哈希表不存在,會(huì)創(chuàng)建一個(gè)空哈希表,并執(zhí)行hset操作。
四、hmget
返回哈希表中,一個(gè)或多個(gè)給定字段的值。
hmget myhash k1 k2 k3 k4
如果指定的字段不存在于哈希表,那么返回一個(gè)nil值。
五、hgetall
返回哈希表中,所有的字段和值。
hgetall myhash
注意,在返回值里,緊跟每個(gè)字段名(field name)之后是字段的值(value),所以返回值的長(zhǎng)度是哈希表大小的兩倍。
六、hdel
刪除哈希表 key 中的一個(gè)或多個(gè)指定字段,不存在的字段將被忽略。
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 不存在時(shí),返回一個(gè)空列表。
十、hvals
返回哈希表所有字段(field)的值。
hvals myhash
返回一個(gè)包含哈希表中所有字段(field)值的列表。 當(dāng) key 不存在時(shí),返回一個(gè)空表。
十一、hincrby
為哈希表中的字段值加上指定增量值,這個(gè)增量也可以是負(fù)數(shù),相當(dāng)于減法。
若哈希表的 key 不存在,創(chuàng)建一個(gè)新的哈希表被并執(zhí)行hincrby
命令。
若指定的字段不存在,那么在執(zhí)行命令前,字段的值被初始化為 0 。
若對(duì)儲(chǔ)存字符串值的字段執(zhí)行,會(huì)報(bào)錯(cuò)。
十二、hsetnx
為哈希表中不存在的的字段賦值。
若哈希表不存在,創(chuàng)建新的哈希表并進(jìn)行 hset 操作。
如果字段已經(jīng)存在于哈希表中,操作無(wú)效。
如果key不存在,創(chuàng)建新哈希表并執(zhí)行hsetnx
命令。
關(guān)于redis中hash的應(yīng)用,比如保存用戶信息數(shù)據(jù)、經(jīng)常變動(dòng)的信息,如果不想使用傳統(tǒng)的k-v對(duì)象去存儲(chǔ),可以用redis的hash。
以上就是Redis基本數(shù)據(jù)類型哈希Hash常用命令操作的詳細(xì)內(nèi)容,更多關(guān)于Redis數(shù)據(jù)類型哈希Hash操作命令的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Redis Key過(guò)期監(jiān)聽(tīng)的配置詳解
這篇文章主要介紹了Redis Key過(guò)期監(jiān)聽(tīng)配置,默認(rèn)情況下在Windows系統(tǒng)中雙擊redis-server.exe用的是內(nèi)置的配置文件,文中通過(guò)代碼示例和圖文講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-06-06Redis數(shù)據(jù)類型之散列類型hash命令學(xué)習(xí)
這篇文章主要為大家介紹了Redis數(shù)據(jù)類型之散列類型hash命令學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07控制Redis的hash的field中的過(guò)期時(shí)間
這篇文章主要介紹了控制Redis的hash的field中的過(guò)期時(shí)間問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01Redis集群模式和常用數(shù)據(jù)結(jié)構(gòu)詳解
Redis集群模式下的運(yùn)維指令主要用于集群的搭建、管理、監(jiān)控和維護(hù),講解了一些常用的Redis集群運(yùn)維指令,本文重點(diǎn)介紹了Redis集群模式和常用數(shù)據(jù)結(jié)構(gòu),需要的朋友可以參考下2024-03-03Redis Cluster集群數(shù)據(jù)分片機(jī)制原理
這篇文章主要介紹了Redis Cluster集群數(shù)據(jù)分片機(jī)制原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04Linux下安裝Redis 6.0.5的實(shí)現(xiàn)
本文詳細(xì)介紹了在Linux系統(tǒng)下安裝Redis 6.0.5的步驟,包括安裝準(zhǔn)備、編譯安裝、啟動(dòng)服務(wù)、設(shè)置密碼和配置文件修改等,具有一定的參考價(jià)值,感興趣的可以了解一下2025-02-02