Redis键值数据类型之散列类型

 

散列类型适合存储对象

设置car表  name="BMW"  price="500"

127.0.0.1:6379> hset car price 500
(integer) 1
127.0.0.1:6379> hset car name BMW
(integer) 1
127.0.0.1:6379> hget car name
"BMW"
127.0.0.1:6379> hmget car  price name
1) "500"
2) "BMW"
127.0.0.1:6379> hgetall car
1) "price"
2) "500"
3) "name"
4) "BMW"

 

hset不区分插入和更新操作, 如果我们在car表  name="BMW"  price="500"基础上:

hset price 600 则返回0 代表当前存在直接更新

如果添加color属性  hset color write  则返回1 代表当前是插入操作

127.0.0.1:6379> hset car price 600
(integer) 0
127.0.0.1:6379> hset car color write
(integer) 1
127.0.0.1:6379> hgetall car
1) "price"
2) "600"
3) "name"
4) "BMW"
5) "color"
6) "write"

 

增加值

price之前的值为600 通过hincr 增加66 

127.0.0.1:6379> hincrby car price 66
(integer) 666
127.0.0.1:6379> hget car price
"666"

 

删除字段

127.0.0.1:6379> hdel car price
(integer) 1

 

 

获取key值或者val的值

127.0.0.1:6379> hkeys car
1) "name"
2) "color"
127.0.0.1:6379> hvals car
1) "BMW"
2) "write"

 

获得字段数量  就是 name 和 color   属性数量

127.0.0.1:6379> hlen car
(integer) 2

 

总结: 

 

 

字符串类型存储与散列表存储的区别

 

 

总结图片来自: https://www.cnblogs.com/liqingwen/p/6919308.html

参考书籍《Redis入门指导》——李子骅 编著

 

 
 
posted @ 2019-10-15 20:41  test1024  阅读(134)  评论(0)    收藏  举报