本文版权归博客园和作者个人所有,转载和爬虫请注明原文地址 :博客园蜗牛NoSql系列地址 http://www.cnblogs.com/tdws/tag/NoSql/
Redis命令拾遗之散列类型Redis散列类型,Hash,适合存储对象。上一篇文章字符串类型提到字符串不适合一段整体的数据,而不是适合存储存在很多属性的对象。比如文章。那么今天介绍的Hash就是解决这个问题的类型。它包括键名,每个键下可以有多个(字段)field,你也可以理解field为面向对象中的对象属性。
举个例子:文章:0001 标题:文章一 作者:吴双 时间:2016。这样的数据,在字符串类型中,你可能需要存储三个键。然而在Hash中你可以这样做,请看下文。
1.HSET key field val设置键的单个字段值
2.HMSET key field key field...... 同时设置单个Key的多个字段值,也就是说文章0002,它的标题是ArticalTwo,作者是WS,时间是2016.8.16
3.HGET key field,获取单个Key的单个字段(field)
4.HMGET key field field.....,获取单个Key的多个字段
5.HGETALL Key,获取键的所有字段和其对应的值,返回结果是 field key field key......
6.HEXISTS Key Field,判断Key的某个field是否存在
7.HSETNX Key Field Val 对指定的键的字段进行操作,如果该field存在,不做任何操作,如果不存在,则创建field并且赋值。此命令为原子操作,不会发生多线程竞态。
8.HINCRBY Key field CommentCount incement 向指定键的字段,增加指定值
9.HDEL Key field field..... 删除指定Key的fields
10.HKEYS key ,获取指定key下的所有字段名称,我们也可以看到,刚才经过删除的结果。
11.HVALS Key , 获取指定key下的所有字段值
12.HLEN Key , 获取指定Key的字段数量
另外Redis命令不区分大小,key区分大小写。散列中存储的也只能是字符串数据类型,而不能散列中加散列或者其他类型。从某种角度来看,散列就是不同的组织字符串类型键值的一种形式。一个散列最多包含二的三十一次方减一个字段。
散列