相關文章redis
Redis 的命令詳解 - Key 篇
Redis 的命令詳解 - String 篇
Redis 的命令詳解 - List 篇
Redis 的命令詳解 - SET 篇安全
跟 Hash 相關的命令一共有 15 種,這裏只介紹經常使用的。想查看所有命令請參考官網post
說明 : 因爲 reids 的 Hash 類型的格式以下,爲了方便區分,裏層的 key 我稱呼爲字段。
key :{key1 : value1,key2 : value2...}code
起始版本 : 2.0.0 時間複雜度 : 添加一個字段-值對爲O(1),添加多個字段:值對爲O(N),N爲字段:值對的數量。get
從Redis 4.0.0開始,HSET 容許添加多個字段:值對。hash
HSET key field1 value1 [field2 value2 ...]
io
添加的字段:值對的對數class
起始版本 : 2.0.0
時間複雜度 : O(1)List
只有字段不存在時,才添加字段:值對。key不存在時,先建立一個 hash。語法
HSETNX key field value
起始版本 : 2.0.0
時間複雜度 : O(1)
HGET key field
起始版本 : 2.0.0
時間複雜度 : O(N),其中N是字段的數目
HMGET key field1 [field2 ...]
value 列表,不存在的 field 返回 nil,順序與field順序相同
起始版本 : 2.0.0
時間複雜度 : O(N),其中N是hash的大小。
HGETALL key
返回全部的字段:值對列表,key若是不存在,返回空列表
起始版本 : 2.0.0
時間複雜度 : O(N),其中N是hash的大小。
HKEYS key
返回全部的字段,key若是不存在則返回空列表
起始版本 : 2.0.0
時間複雜度 : O(N),其中N是hash的大小。
HVALS key
返回全部的字段的值,key若是不存在則返回空列表
起始版本 : 2.0.0
時間複雜度 : O(N),其中N是要刪除的字段數。
HDEL key field1 [field2]
從 hash 中刪除的字段個數,不包括指定的但不存在的字段。
Redis 版本 >= 2.4:接受多個field參數。低於2.4的Redis版本每次調用只能刪除一個字段。
要在早期版本中以原子方式從哈希中刪除多個字段,請使用MULTI
、 EXEC
起始版本 : 2.0.0
時間複雜度 : O(1)
HEXISTS key field
起始版本 : 2.0.0
時間複雜度 : O(1)
HLEN key
字段:值對的數量,當 key 不存在,返回0
起始版本 : 3.2.0
時間複雜度 : O(1)
HSTRLEN key field
字段對應值的長度,若是 field 或 key 不存在,返回0
起始版本 : 2.0.0
時間複雜度 : O(1)
HINCRBY key field 整數
HINCRBY
支持的整數的範圍,限制爲64位帶符號整數。因爲帶符號,因此能夠變相實現減法操做
起始版本 : 2.6.0
時間複雜度 : O(1)
HINCRBYFLOAT key field 數(能夠是浮點數)
因爲數能夠帶符號,因此能夠變相實現減法操做