Redis hash(哈希)相关命令

Posted chy18883701161

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis hash(哈希)相关命令相关的知识,希望对你有一定的参考价值。

 

Redis hash可储存多个键值对,适合储存对象的属性。

 

1、hset key fieldName fileValue    //hset即hash set,set这里是设置的意思。往hash中添加一个字段(键值对)

示例:

 hset score zhangsan 90     //score是hash的名称,zhangsan 90是一个键值对。若zhangsan这个字段名之前不存在,则添加成功返回1。

 hset score lisi 85     //一个hash可储存多个键值对(40多亿)。

 hset score lisi 100   //之前这个hash中已存在lisi这个字段名,会覆盖原来的字段值,返回0.

 

 

2、hsetnx key fieldName fieldValue    //多了后缀nx,同上,只是如果这个hash中已存在fieldName,则不执行操作(不覆盖原来的值),此时返回0。即当这个hash中fieldName不存在时才添加字段。

 

3、hmset key fileName1 fieldValue1 fieldName2 fieldValue2 ......   //同时添加多个字段。hmset即hash multiple set,因为是set所以字段已存在时会覆盖原有的值。

 

 

 

4、hget key fieldName   //获取指定字段的值

 

5、hmget key fieldName1 fieldName2 .....    //同时获取一个或多个字段的值

 

6、hgetall key   //获取所有字段的值,会同时显示fieldName、fieldValue。hgetall即hash get all。

 

 

 

7、hdel key fieldName1 fieldName2 ....   //删除一个或多个字段

 

8、hexists key fieldName   //检查该字段是否已存在,已存在则返回1,该fieldName不存在或key不存在,则返回0

 

 

 

9、hlen key    //获取hash中的字段(键值对)数量

 

10、hkeys  key    //获取hash中所有的feildName

 

11、hvals key   //获取hash中所有的fieldValue

 

 

12、hscan key cursor [match pattern] [count count]      //迭代hash中的键值对

 

 

 

13、hincrby key fieldName acount    //将指定字段的值增加acount。原来的字段值、acount都要是整数,否则提示错误。

示例:

 hincrby score lisi 5   //返回操作后的字段值,假如之前lisi的值是80,则返回85

 hincrby score lisi -10   //acount支持负整数,即减。

 

14、hincrbyfloat  key fieldName acount    //同上,但是支持浮点数,就是说整数、浮点数都行。

 

 

说明:

  • 没有hincr这个命令(+1)
  • 没有提供hdecr命令(减)。
  • 都带有前缀h表示hash

 

以上是关于Redis hash(哈希)相关命令的主要内容,如果未能解决你的问题,请参考以下文章

Redis 数据结构操作相关命令

Redis 数据结构操作相关命令

Redis Redis 字符串相关命令

Redis的数据类型及相关操作命令

redis-key相关命令

Redis学习之二 数据类型和相关命令