本篇基于redis 4.0.11版本,学习哈希(hash)相关命令。

hash 是一个string类型的field和value的映射表,特别适合用于存储对象。

序号 命令 描述 实例 返回
HSET key field value  将哈希表 key 中的字段 field 的值设为 value 。如果有值会覆盖。 HSET myhash field1 "foo1" (integer) 1
2 HDEL key field1 [field2]  删除一个或多个哈希表字段 删除键为myhash哈希表中field1的值:hdel myhash field1 成功:(integer) 1

失败:(integer) 0
HEXISTS key field  查看哈希表 key 中,指定的字段是否存在。 判断键为myhash哈希表中field1是否存在:HEXISTS myhash field1 存在:(integer) 1

不存在:(integer) 0
HGET key field  获取存储在哈希表中指定字段的值。 获取myhash哈希表中field1的值:HGET myhash field1 "foo1"
HGETALL key  获取在哈希表中指定 key 的所有字段和值 获取myhash哈希表中的所有值:HGETALL myhash 1) "field1"

2) "foo1"

3) "field2"

4) "foo2"

5) "field3"

6) "foo3"
HINCRBY key field increment  为哈希表 key 中的指定字段的整数值加上增量 increment 。 为myhash2哈希表中int1值减10:hincrby myhash2 int1 -10 (integer) 90
HINCRBYFLOAT key field increment  为哈希表 key 中的指定字段的浮点数值加上增量 increment 。 为myhash2哈希表中float值减10:hincrbyfloat myhash2 float 2.2 "3.3"
HKEYS key  获取所有哈希表中的字段 获取myhash2表中所有值:hkeys myhash2 1) "int1"

2) "float"
HLEN key  获取哈希表中字段的数量 获取myhash2中字段数量:hlen myhash2 (integer) 2
HMGET key field1 [field2]  获取所有给定字段的值 获取所有给定字段的值:hmget myhash field2 field7 1) "foo2"

2) (nil)
HMSET key field1 value1 [field2 value2 ]  同时将多个 field-value (域-值)对设置到哈希表 key 中。 hmset myhash2 fi1 100 fi2 200 OK
HSETNX key field value  只有在字段 field 不存在时,设置哈希表字段的值。 hsetnx myhash2 fi3 300 (integer) 1
HVALS key  获取哈希表中所有值 获取myhash2哈希表中所有值:hvals myhash2 1) "90"

2) "3.3"

3) "100"
14 HSCAN key cursor [MATCH pattern] [COUNT count]  迭代哈希表中的键值对。 hscan myhash 0 1) "0"

2) 1) "field1"

   2) "foo1"

   3) "field2"

   4) "foo2"

   5) "field3"

   6) "foo3"
HSTRLEN key field 返回哈希表key中,与给定域field相关联的值的字符串长度(string length) 获取myhash哈希表中field1域值长度:hstrlen myhash field1

(integer) 4

详见:Redis官方文档

上一篇:【Redis】命令学习笔记——字符串(String)(23个超全字典版)

下一篇:【Redis】命令学习笔记——列表(list)+集合(set)+有序集合(sorted set)(17+15+20个超全字典版)

最新文章

  1. bzoj 2301: [HAOI2011]Problem b
  2. composer 一些使用说明
  3. java 的SPI机制
  4. JAVA学习<六>
  5. c# 垮线程调用控件
  6. 【PRML读书笔记-Chapter1-Introduction】1.6 Information Theory
  7. 信息安全系统设计基础exp_1
  8. 拦截webview调用系统浏览器打开链接
  9. Asp.net Vnext ModelBinding
  10. ASP.NET MVC开发微信(二)
  11. DROP--删除表
  12. 【HTML】Intermediate6:Text: Addresses, Definitions, Bi-directional, and Editorial
  13. 【网络协议】TCP连接的建立和释放
  14. Andrew Ng机器学习课程笔记--week6(精度&召回率)
  15. BUG心得
  16. [报错]java.lang.ClassCastException
  17. jQuery-AutoComplete自动提示简单实现
  18. 触发form表单的两种提交方式,submit和button的用法
  19. 反射那些基础-Class
  20. axis 数据流

热门文章

  1. SPSS学习系列之SPSS Modeler Server是什么?
  2. 11 - JavaSE之GUI
  3. Django的配置文件(settings.py)
  4. Spring MVC 实现web Socket向前端实时推送数据
  5. php的explode()和split()的区别
  6. Windows下整合apache和Tomcat
  7. 我是怎么从安卓到php再成为前端开发工程师的
  8. 微信小程序之特殊效果及功能
  9. Java对象的强、软、弱和虚引用+ReferenceQueue
  10. java开发一个应用的总结