redis 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位元組
hset
設定hash field為指定值,如果key不存在,則先建立。
hset key field value
hsetnx
設定hash field為指定值,如果key不存在,則先建立。如果field已經存在,返回0,nx是not exist的意思
hsetnx key field value
hmset
同時設定hash的多個field
hmset key field value [field value …]
hget
獲取指定hash field
hget key field
hmget
獲得全部指定的hash field
hmget value field [field …]
hincrby
指定的hash field 加上指定值
hincrby key field increment
hexists
測試指定field是否存在
hexists key field
hlen
返回指定的field數量
hlen value
hdel
刪除指定field,存在且操作成功返回1,否則返回0
hdel key field
hkeys
返回hash的所有field
hkeys value
hvals
返回hash的所有value
hvals key
hgetall
獲取某個hash中全部的field和value
hgetall key
Redis學習總結之hashes型別
1.hset 設定hash field為指定值,如果key不存在,則先建立 hset user name name1 2.hsetnx 設定hash field為指定值,如果key不存在,則先建立,如果存在返回0.3.hmset 同時設定hash的多個field hmset user name na...
redis的資料型別 hashes
1.hashes型別 2.方法 1.hset 設定 hash field為指定值,如果key不存在,則先建立。例 hset table name cl。設定table的name字段值為cl。獲取 gset table name 2.hsetnx 設定hash field為指定值,如果key不存在,則...
Redis實戰(4)資料型別二Hashes
redis hash 是乙個 string 型別的 field 和 value 的對映表.它的新增 刪除操作都是 o 1 平均 hash 特別適合用於儲存物件。相較於將物件的每個欄位存成單個 string 型別。將乙個物件儲存在 hash 型別中會占用更少的記憶體,並且可以更方便的訪問整個物件。省記...