Redis 基础(三) ——Hash

数据库 cyanprobe 9年前 (2016-04-08) 3046次浏览 已收录 0个评论

前言:

Redis的哈希值是字符串字段字符串值之间的映射。相比string等数据类型,它提供很多方便的操作,因此在表示对象时,它是非常适合的数据类型。

主要方法:

1.     在 redis 中,使用HSET命令来将哈希表 key 中的域 field 的值设为 value ,语法如下: HSET key field value
例如:HSET site fkwebs “cyanprobe.com” # 设置一个新域  键 fkwebs 值 “cyanprobe.com” //若不存在返回1,存在返回0 并覆盖
2.    除了HSET命令,HMSET命令的用途也是用来设置值,不同的是,HMSET一次可以设置多个 field-value (域-值)对设置到哈希表 key 中,语法如下:HMSET key field value [field value …]
例如:HMSET site fkwebs “cyanprobe.com”  link  “ddh.me”
3.    HGET是用来获取指定 key 值的命令,语法如下: HGET key field
例如 : HGET site fkwebs  //返回 1  值”cyanprobe.com”
4.   作为HMSET命令对应的获取命令,HMGET可以一次性获取哈希表 key 中,一个或多个给定域的值,基本语法:HMGET key field [field …]
注:若不存在返回nil
5.   如果我们想要一次性获取全部域的值,很显然 HGET HMGET 都是不合适的,所幸的是我们还有HGETALL指令,通过它,我们可以轻松的获取到全部域值,基本语法如下:HGETALL key
注:返回格式 #域#值 相互交错
6.   在应用环境中,我们经常会需要知道一个 key 中是否存在某个 field HEXISTS命令可以帮助我们达到这个目的,基本语法: HEXISTS key field
例:HEXISTS site link  //检查是否存在site link域 返回1存在 0不存在
7.   在现实运用中我们可能需一个车队的信息可以使用HKEYS来获取哈希表 key 中的所有域,基本语法:HKEYS key
例:HMSET group jack “Jack car” steven “steven car”   —— KEYS group //返回  jack   steven
8.   HLEN命令将返回哈希表 key 中域的数量,什么时候会用到它呢?比如:在线聊天室,用来显示在线用户数,基本语法:HLEN key
例:HSET host user1 “zhangsan”  HSET host user2 “lisi”  ——HLEN host //返回 (integer)2
9.  有添加就必定有删除的需求,当我们想要删除哈希表 key 中的一个或多个指定域时,可以使用HDEL命令,基本语法:HDEL key field
例:HDEL host user1 //这时 KEY host 中的 user1被删除 若不存在会被忽略

后记:

可以看到HASH非常适合储存对象,学习完这一部分准备小试身手,下一部分是列表,我综合下,先准备把骨架假设起来,等到考虑具体在内存数据库进行业务分析,再缓慢进行推进。


CyanProbe , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Redis 基础(三) ——Hash
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址