一、概述
Redis
本生就是一个字典类型的键值关系数据库,结构为:
而其中还有一种散列类型的数据结构散列
,它也是一种字典结构,存储了字段关系的映射。
散列就像是一个小的redis一样,只不过这个小型redis不支持其他类型,只能是字符串。
二、命令
2.1 设置和获取字段值
HSET key field value
:给一个字段赋值,当key不存在时自动创建。HGET key field1
:获取一个字段的值。HMSET key field value [field value ...]
:给多个字段赋值。HMGET key field [field ...]
:获取多个字段的值。
127.0.0.1:6379> hset stus maqian 21
(integer) 1
127.0.0.1:6379> hget stus maqian
"21"
127.0.0.1:6379> hget a a
(nil) # 获取不存在的值返回nil
127.0.0.1:6379> hmset stus xiaoming 20 xiaohua 18 # 多个字段赋值
OK
127.0.0.1:6379> hmget stus xiaoming xiaohua maqian # 获取多个字段值
1) "20"
2) "18"
3) "21"
2.2 获取值
HGETALL key
: 获取key中所有字段和值。HKEYS key
:获取所有的字段名。HVALS key
:获取所有的值。HLEN key
:获得字段数量。
127.0.0.1:6379> hgetall stus # 获取所有的字段和值
1) "maqian"
2) "21"
3) "xiaoming"
4) "20"
5) "xiaohua"
6) "18"
127.0.0.1:6379> hkeys stus
1) "maqian"
2) "xiaoming"
3) "xiaohua"
127.0.0.1:6379> hvals stus
1) "21"
2) "20"
3) "18"
127.0.0.1:6379> hlen stus
(integer) 3
2.3 判断字段存在
HEXISTS key field
:判断字段是否存在。HSETNX key field value
:当字段不存在时赋值。
127.0.0.1:6379> hexists stus aaa # 判断字段是否存在
(integer) 0 # 不存在返回0
127.0.0.1:6379> hexists stus maqian
(integer) 1 # 存在返回1
127.0.0.1:6379> hsetnx stus maqian 22 # 如果字段不存在则设置值
(integer) 0 # 字段maqian存在,赋值不成功
127.0.0.1:6379> hget stus maqian
"21"
127.0.0.1:6379> hsetnx stus xiaobai 20
(integer) 1 # 字段xiaobai不存在,设置成功
127.0.0.1:6379> hget stus xiaobai
"20"
2.4 数据增加操作
HINCRBY key field incrment
:字段值+incrment
,成功返回增加后的字段。
127.0.0.1:6379> hincrby stus xiaobai 20 # 增加操作
(integer) 40
127.0.0.1:6379> hget stus xiaobai
"40"
2.5 删除字段
HDEL key field [field ...]
:删除字段,可携带多个字段,返回成功删除的元素个数。
127.0.0.1:6379> hdel stus xiaobai # 删除字段
(integer) 1
此处评论已关闭