首頁  >  文章  >  資料庫  >  Redis基本資料類型雜湊Hash常用操作實例分析

Redis基本資料類型雜湊Hash常用操作實例分析

王林
王林轉載
2023-05-31 10:43:26871瀏覽

Redis資料類型Hash常用操作

在Redis中,雜湊表是一種將字串類型的欄位和對應的值進行對應的資料結構。特別適合用於儲存對象,每個hash可以儲存40多億鍵值對。

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

一、hset

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

hset myhash k1 v1

Redis基本資料類型雜湊Hash常用操作實例分析

二、hget

傳回哈希表中指定欄位的值,如果給定的欄位或 key 不存在時,傳回 nil。

hget myhash k1

Redis基本資料類型雜湊Hash常用操作實例分析

三、hmset

同時將多個 field-value 對設定到哈希表中。

hmset myhash k2 v2 k3 v3

如果哈希表中已存在的字段,則覆寫。
如果哈希表不存在,會建立一個空哈希表,並執行hset操作。

Redis基本資料類型雜湊Hash常用操作實例分析

四、hmget

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

hmget myhash k1 k2 k3 k4

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

Redis基本資料類型雜湊Hash常用操作實例分析

五、hgetall

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

hgetall myhash

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

Redis基本資料類型雜湊Hash常用操作實例分析

六、hdel

刪除哈希表 key 中的一個或多個指定字段,不存在的字段將被忽略。

hdel myhash k2 k3 k5

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

Redis基本資料類型雜湊Hash常用操作實例分析

七、hlen

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

hlen myhash

Redis基本資料類型雜湊Hash常用操作實例分析

八、hexists

查看哈希表的指定欄位是否存在。

hexists myhash k1

如果哈希表含有給定字段,則傳回 1。
如果雜湊表不含有給定字段,或 key 不存在,則傳回 0 。

Redis基本資料類型雜湊Hash常用操作實例分析

九、hkeys

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

hkeys myhash

包含哈希表中所有欄位(field)清單。當 key 不存在時,傳回一個空列表。

Redis基本資料類型雜湊Hash常用操作實例分析

第十、hvals

傳回哈希表所有欄位(field)的值。

hvals myhash

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

Redis基本資料類型雜湊Hash常用操作實例分析

十一、hincrby

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

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

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

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

Redis基本資料類型雜湊Hash常用操作實例分析

十二、hsetnx

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

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

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

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

Redis基本資料類型雜湊Hash常用操作實例分析

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

以上是Redis基本資料類型雜湊Hash常用操作實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除