建议大家使用FireFox、Opera、Safri、IE8+等主流浏览器访问本站,否则可能会出现不兼容等问题!

Redis 基础(三) ——Hash

数据库 凶恶的方块 2003次浏览 已收录 0个评论

前言:

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

主要方法:

1.     在 redis 中,使用HSET命令来将哈希表 key 中的域 field 的值设为 value ,语法如下: HSET key field value

例如:HSET site fkwebs “fkwebs.com” # 设置一个新域  键 fkwebs 值 “fkwebs.com” //若不存在返回1,存在返回0 并覆盖

2.    除了HSET命令,HMSET命令的用途也是用来设置值,不同的是,HMSET一次可以设置多个 field-value (域-值)对设置到哈希表 key 中,语法如下:HMSET key field value [field value …]

例如:HMSET site fkwebs “fkwebs.com”  link  “ddh.me”

3.    HGET是用来获取指定 key 值的命令,语法如下: HGET key field

例如 : HGET site fkwebs  //返回 1  值”fkwebs.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非常适合储存对象,学习完这一部分准备小试身手,下一部分是列表,我综合下,先准备把骨架假设起来,等到考虑具体在内存数据库进行业务分析,再缓慢进行推进。


方块网络 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Redis 基础(三) ——Hash
喜欢 (0)or分享 (0)
avatar
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

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

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