Redis中文入門手冊之hash

2021-08-21 04:46:01 字數 1169 閱讀 9360

2.2.2. hash 型別

hash 是乙個 string 型別的 field 和 value 的對映表。新增,刪除操作都是 o(1)(平均)。hash 特別適合用於儲存物件。相對於將物件的每個欄位存成單個 string 型別。將乙個物件儲存在 hash 型別中會占用更少的記憶體,並且可以更方便的訪問整個物件。省記憶體的原因是新建乙個 hash 物件時開始是用 zipmap(又稱為 small hash)來儲存的。這個 zipmap 其實並不是 hash table,但是 zipmap 相比正常的 hash 實現可以節省不少 hash 本身需要的一些元資料儲存開銷。儘管 zipmap 的新增,刪除,查詢都是 o(n),但是由於一般物件的 field數量都不太多。所以使用 zipmap 也是很快的,也就是說新增刪除平均還是 o(1)。如果 field或者 value 的大小超出一定限制後,redis 會在內部自動將 zipmap 替換成正常的 hash 實現. 這個限制可以在配置檔案中指定。

hash-max-zipmap-entries 64 #配置欄位最多 64 個

hash-max-zipmap-value 512 #配置 value 最大為 512 位元組

hash 型別資料操作指令簡介

hset key field value 設定 hash field 為指定值,如果 key 不存在,則建立

hget key field 獲取指定的 hash field。hmget key filed1....fieldn 獲取全部指定的 hash filed。

hmset key filed1 value1 ...... filedn valuen 同時設定 hash 的多個 field。

hincrby hincrby hincrby hincrby key field integer 將指定的 hash filed 加上指定值。成功返回 hash filed 變更後的值。

hexists hexists hexists hexists key field 檢測指定 field 是否存在。

hdel key field 刪除指定的 hash field。

hlen key 返回指定 hash 的 field 數量。

hkeys key 返回 hash 的所有 field。

hvals key 返回 hash 的所有 value。

hgetall 返回 hash 的所有 filed 和 value。

Redis中文入門手冊之list

list 型別 list 是乙個鍊錶結構,可以理解為乙個每個子元素都是 string 型別的雙向鍊錶。主要功 能是 push pop 獲取乙個範圍的所有值等。操作中 key 理解為鍊錶的名字。list 型別資料操作指令簡介 lpush key string 在 key 對應 list 的頭部新增字串...

Redis中文入門手冊

redis 是乙個開源的使用 ansi c 語言編寫 支援網路 可基於記憶體亦可持久化的日誌型 key value 資料庫。redis 的 key 是字串型別,但是 key 中不能包括邊界字元,由於 key 不是 binary safe的字串,所以像 my key 和 mykey n 這樣包含空格和...

redis命令中文手冊

redis命令中文手冊 一 base del 刪除某個key,或是一系列key del key1 key2 key3 key4 type 返回某個key元素的資料型別 none 不存在,string 字元,list,set,zset,hash keys 返回匹配的key列表 keys foo 查詢f...