redis-Hash 命令整合
命令
|
版本
|
复杂度
|
格式
|
返回值
|
作用
|
备注
|
hset
|
2.0.0
|
O(1)
|
hset hash field value
|
成功创建返回1,成功覆盖返回0
|
将哈希表hash中field域的值设置为value
|
如果hash不存在,创建它,如果field不存在,创建它。如果field已经存在,覆盖原始值。
|
hsetnx
|
2.0.0
|
O(1)
|
hsetnx hash field value
|
成功创建返回1,域已经存在返回0
|
在哈希表hash中添加field域,并设置值为value
|
如果hash不存在,创建它,如果field存在,直接返回0,不进行修改。
|
hget
|
2.0.0
|
O(1)
|
hget hash field
|
返回hash中域field的值
|
获取哈希表中域field的值
|
hash或者field不存在,返回nil
|
hexists
|
2.0.0
|
O(1)
|
hexists hash field
|
存在返回1,不存在返回0
|
检测hash中是否存在field域
|
|
hdel
|
2.0.0
|
O(N)
|
hdel hash field [field ...]
|
成功删除的域的数量,不包括不存在的
|
删除hash中的多个field
|
2.4以上才支持批量删除,需要使用MULTI/EXEC。
|
hlen
|
2.0.0
|
O(1)
|
hlen hash
|
返回哈希表hash中域的数量
|
获取哈希表的数量
|
hash不存在,返回0
|
hstrlen
|
3.2.0
|
O(1)
|
hstrlen hash field
|
返回hash中field的值的字符串长度
|
获取hash中field的值的字符串长度
|
hash或者field不存在,返回0
|
hincrby
|
2.0.0
|
O(1)
|
hincrby hash field increment
|
返回修改之后的,field域的值
|
为hash中field的值+increment,increment可以是负数
|
hash不存在时,创建它,field不存在时,原始值初始化为0,field的值无法转数字时,返回error,数字大小限制在64位有符号数字之内。
|
hincrbyfloat
|
2.6.0
|
O(1)
|
hincrbyfloat hash field increment
|
同上
|
同上,不同的是增量为浮点型
|
除了数字大小之外,其余同上
|
hmset
|
2.0.0
|
O(N)
|
hmset hash field value [field value ...]
|
成功返回OK
|
批量设置hash中的field的值
|
hash类型不是哈希表,返回error
|
hmget
|
2.0.0
|
O(N)
|
hmget hash field [field ...]
|
返回一个field值的列表
|
批量获取hash中field的值
|
hash不存在的话,field的值将返回nil
|
hkeys
|
2.0.0
|
O(N)
|
hkeys hash
|
返回hash中的所有域
|
获取hash中的所有域
|
N为hash中域的数量,hash不存在时返回空列表
|
hvals
|
2.0.0
|
O(N)
|
hvals hash
|
返回hash中所有域的值
|
获取hash中所有域的值
|
N为哈希表大小,hash不存在时返回空列表
|
hgetall
|
2.0.0
|
O(N)
|
hgetall hash
|
返回hash中所有域以及值
|
获取hash中所有域以及值
|
N为哈希表大小,hash不存在时返回空列表
|
hscan
|
2.8.0
|
O(N)
|
HSCAN key cursor [MATCH pattern] [COUNT count]
|
http://redisdoc.com/database/scan.html#scan
|