Redis——数据结构之hash

HASH(散列):hash 是一个 Sring 类型的 field 和 value 的映射表,它的添加删除操作是 O(1)(平均)。

hash特别适合用于存储对象,相较于对象的每个字段都存成 String 类型,将一个对象存储在 hash 类型中会占用更少的内存,并且可以更方便的存取整个对象。

每一个Hash可以存储  4294967295  个键值对

应用场景:存储、读取、修改用户属性(name、age等)。

hset、hget 设置单个字段的

127.0.0.1:6379> hset stu1 name zth
(integer) 1
127.0.0.1:6379> hset stu1 age 18
(integer) 1
127.0.0.1:6379> hget stu1 name
"zth"
127.0.0.1:6379> hget stu1 age
"18"

hmset、hmget 设置多个字段

127.0.0.1:6379> hmset stu2 name zhangsan age 20
OK
127.0.0.1:6379> hmget stu2 name age
1) "zhangsan"
2) "20"

hgetall 获取所有字段

127.0.0.1:6379> hgetall stu2
1) "name"
2) "zhangsan"
3) "age"
4) "20"

hdel  删除属性

可以一次删除一个或者多个

127.0.0.1:6379> hdel stu2 name age
(integer) 2
127.0.0.1:6379> hgetall stu2
(empty list or set)

hincrby 增加数字

127.0.0.1:6379> hget stu1 age
"18"
127.0.0.1:6379> hincrby stu1 age 4
(integer) 22

hexists 判断字段是否存在

1表示存在 0表示不存在

127.0.0.1:6379> hexists stu1 age
(integer) 1
127.0.0.1:6379> hexists stu1 sex
(integer) 0

hlen 获取 hash 属性个数

127.0.0.1:6379> hlen stu1
(integer) 2
127.0.0.1:6379> hlen stu3
(integer) 0

hkeys 获取所有属性名称

127.0.0.1:6379> hkeys stu1
1) "name"
2) "age"
127.0.0.1:6379> hkeys stu3
(empty list or set)

hvals  获取所有属性值

127.0.0.1:6379> hvals stu1
1) "zth"
2) "22"
127.0.0.1:6379> hvals stu3
(empty list or set)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值