Redis Hash

Hash(哈希表)索引

域-值对,key不会重复,其实哈希表就像是一个只有String类型的Redis。rem

 

一、基本操做(CURD)字符串

>hmset key field value [field value ...]get

将多个 field-value (域-值)对设置到哈希表 key 中,新的域-值对会覆盖哈希表中已存在的域-值对。string

 

>hset key field value扩展

将单个 field-value (域-值)对设置到哈希表 key 中,新的域-值对会覆盖哈希表中已存在的域-值对。遍历

 

>hsetnx key field valuefloat

将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在。若域 field 已经存在,该操做无效。数据

 

>hmget key field [field ...]di

返回哈希表 key 中,一个或多个给定域的值。若是key不存在则返回null.

 

>hget key field

返回哈希表 key 中,一个给定域的值。若是key不存在则返回null.

 

>hdel key field [field ...]

原子操做,删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。

 

二、扩展操做

>hgetall key

返回哈希表 key 中全部的域-值对,以列表形式返回,奇数索引下的值为域,偶数索引下的值为域对应的值,数据量大时尽可能不用。

 

>hkeys key

返回哈希表 key 中的全部域,数据量大时尽可能不用。

 

>hvals key

返回哈希表 key 中的全部域对应的值,数据量大时尽可能不用。

 

>hexists key field

查看哈希表 key 中,给定域 field 是否存在。

 

>hlen key

返回哈希表 key 中域的数量。

 

>hstrlen key field

返回哈希表 key 中, 与给定域 field 相关联的值的字符串长度(string length)。

 

>hscan key cursor [MATCH pattern] [COUNT count]

经过游标遍历哈希表,每次批量返回必定数量的数据,他比 hkeys hvals hgetall 都要好,缘由是数据量大时,他们都会被阻塞。

 

三、修改操做 i++

>hincrby key field increment

为哈希表 key 中的域 field 的值加上增量 increment 。增量也能够为负数,至关于对给定域进行减法操做。若是不存在默认初始化为0而后进行对应的加减操做。

 

>hincrbyfloat key field increment

为哈希表 key 中的域 field 加上浮点数增量 increment,增量也能够为负数,至关于对给定域进行减法操做 。若是哈希表中没有域 field ,那么 hincrbyfloat 会先将域 field 的值设为 0 ,而后再执行加法操做。

相关文章
相关标签/搜索