目录
1. 什么是散列
一个散列由多个域值对组成,散列的域和值都可以是文字、整数、浮点数或者二 进制数据。同一个散列里面的每个域必须是独一无二、各不相同的,而域的值则没有这一要求,换句话说,不同域的值可以是重复的。
举个例子:
2. 命令使用
2.1 HSET关联域值对
HSET key field value
在散列键 key 中关联给定的域值对 field 和 value 。如果域 field 之前没有关联值,那么命令返回 1 ;如果域 field 已经有关联值,那么命令用新值覆盖旧值,并返回 0 。
hset user id 10001
hset user username admin
hset user gender 男
hset user phone 184XXXXXXXX
2.2 HGET获取域关联的值
HGET key field
回散列键 key 中,域 field 所关联的值。如果域 field 没有关联值,那么返回 nil 。
hget user username
hget user password
2.3 HSETNX命令
HSETNX key field value:仅当域不存在时,关联域值对,如果散列键 key 中,域 field 不存在,那么关联给定的域值对 field 和value 。如果域 field 已经有与之相关联的值,那么命令不做动作。
hsetnx user username admin1
hsetnx user password 123456
执行以上命令后,查看结果(username没有改变,password加上了):
2.4 HEXISTS检查域是否存在
HEXISTS key field
查看散列键 key 中,给定域 field 是否存在:存在返回 1 ,不存在返回 0 。
hexists user phone
hexists user phonenumber
2.5 HDEL删除给定的域值对
HDEL key field [field ...]
删除散列键 key 中的一个或多个指定域,以及那些域的值。不存在的域将被忽略。命令返回被成功删除的域值对数量。
hdel user password
hdel user phone gender
执行结果如下:
2.6 HLEN获取键值对数量
HLEN key:返回散列键 key 包含的域值对数量。
hlen user
2.7 HMSET/HMGET命令
HMSET key field value:批量关联域值对
HMGET key field:批量获取域值对的值
hmset user gender 男 phone 184XXXXXXXX
hmget user id username gender phone
2.8 获取散列包含的所有域、值、或者域值对
hkeys user
hvals user
hgetall user
2.9 域的值自增操作
通过将 increment 设为负数来做减法。当域不存在的时候,先将值初始化为 0 ,然后再执行 HINCRBY 操作。
hincrby user age 15
hincrby user age 1
hincrby user age -5
hincrbyfloat user moeny 55.4
hincrbyfloat user moeny 5.6
hincrbyfloat user moeny -1
2.10 散列命令和字符串命令的对比
本节类容到此结束
本人联系方式2329095893,欢迎各位进行学习讨论
欢迎关注熊熊出没ING公众号,不定时跟新Java、python、信息安全等相关知识哦。