首頁 > 軟體

Redis基本資料型別雜湊Hash常用操作

2022-05-31 18:01:21

Redis資料型別Hash常用操作

redis裡的hash是一個string型別的field(欄位)和value(值)的對映表。特別適合用於儲存物件,每個hash可以儲存40多億鍵值對。

熟悉python的童鞋可以想象成字典dict。之前的資料型別儲存都是k-v這樣,而hash的儲存就是k-dictdict裡又會有屬於自己的k-v

一、hset

為雜湊表中的欄位賦值,如果雜湊表不存在,建立一個新的雜湊表被並進行hset操作。
如果欄位已經存在於雜湊表中,舊值將被覆蓋。

hset myhash k1 v1

二、hget

返回雜湊表中指定欄位的值,如果給定的欄位或 key 不存在時,返回 nil。

hget myhash k1

三、hmset

同時將多個 field-value 對設定到雜湊表中。

hmset myhash k2 v2 k3 v3

如果雜湊表中已存在的欄位,則覆蓋。
如果雜湊表不存在,會建立一個空雜湊表,並執行hset操作。

四、hmget

返回雜湊表中,一個或多個給定欄位的值。

hmget myhash k1 k2 k3 k4

如果指定的欄位不存在於雜湊表,那麼返回一個nil值。

五、hgetall

返回雜湊表中,所有的欄位和值。

hgetall myhash

注意,在返回值裡,緊跟每個欄位名(field name)之後是欄位的值(value),所以返回值的長度是雜湊表大小的兩倍。

六、hdel

刪除雜湊表 key 中的一個或多個指定欄位,不存在的欄位將被忽略。

hdel myhash k2 k3 k5

返回的是被成功刪除欄位的數量,不包括被忽略的欄位。

七、hlen

獲取雜湊表中欄位的數量。

hlen myhash

八、hexists

檢視雜湊表的指定欄位是否存在。

hexists myhash k1

如果雜湊表含有給定欄位,返回 1。
如果雜湊表不含有給定欄位,或 key 不存在,返回 0 。

九、hkeys

獲取雜湊表中的所有欄位(field)。

hkeys myhash

包含雜湊表中所有欄位(field)列表。 當 key 不存在時,返回一個空列表。

十、hvals

返回雜湊表所有欄位(field)的值。

hvals myhash

返回一個包含雜湊表中所有欄位(field)值的列表。 當 key 不存在時,返回一個空表。

十一、hincrby

為雜湊表中的欄位值加上指定增量值,這個增量也可以是負數,相當於減法。

若雜湊表的 key 不存在,建立一個新的雜湊表被並執行hincrby命令。

若指定的欄位不存在,那麼在執行命令前,欄位的值被初始化為 0 。

若對儲存字串值的欄位執行,會報錯。

十二、hsetnx

為雜湊表中不存在的的欄位賦值。

若雜湊表不存在,建立新的雜湊表並進行 hset 操作。

如果欄位已經存在於雜湊表中,操作無效。

如果key不存在,建立新雜湊表並執行hsetnx命令。

關於redis中hash的應用,比如儲存使用者資訊資料、經常變動的資訊,如果不想使用傳統的k-v物件去儲存,可以用redis的hash。

以上就是Redis基本資料型別雜湊Hash常用操作的詳細內容,更多關於Redis資料型別雜湊Hash的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com