五:Redis-Hash类型详解

相当于Map集合,key-map,这时候的值是一个map集合,本质和String没有区别,是一个key-value

  1. 设置值
127.0.0.1:6379> hset user1 name wangchangjun #设置user1 name
(integer) 1
127.0.0.1:6379> hget user1 name#获取user1 name
"wangchangjun"
127.0.0.1:6379> hmset user1 age 23 hobby swim location nanjing #设置user1 age、hobby、location的值
OK
127.0.0.1:6379> hmget user1 name age hobby location#获取user1 age、hobby、location的值
1) "wangchangjun"
2) "23"
3) "swim"
4) "nanjing"
127.0.0.1:6379> hgetall user1#获取user1全部的值
1) "name"
2) "wangchangjun"
3) "age"
4) "23"
5) "hobby"
6) "swim"
7) "location"
8) "nanjing"
127.0.0.1:6379>
  1. 删除hash指定的key
127.0.0.1:6379> hgetall user1
1) "name"
2) "zhangsan"
3) "age"
4) "15"
5) "hobby"
6) "swim"
127.0.0.1:6379> hdel user1 name #删除user1中的name属性,对应的value也会被删除
(integer) 1
127.0.0.1:6379> hgetall user1 #查询后 删除成功
1) "age"
2) "15"
3) "hobby"
4) "swim"
127.0.0.1:6379>
  1. 获取hasn的字符长度
127.0.0.1:6379> hgetall user1
1) "age"
2) "15"
3) "hobby"
4) "swim"
127.0.0.1:6379> hlen user1 #获取user1的长度(key的个数)
(integer) 2
127.0.0.1:6379>
  1. 判断hash中指定的key是否存在
127.0.0.1:6379> hgetall user1
1) "age"
2) "15"
3) "hobby"
4) "swim"
127.0.0.1:6379> hexists user1 age #获取user1中的age是否存在 存在则返回1
(integer) 1
127.0.0.1:6379> hexists user1 name#不存在则返回0
(integer) 0
127.0.0.1:6379>

  1. 获取所有的key或者value
127.0.0.1:6379> hgetall user1
1) "age"
2) "15"
3) "hobby"
4) "swim"
127.0.0.1:6379> hkeys user1 #获取所有的key
1) "age"
2) "hobby"
127.0.0.1:6379> hvals user1 #获取所有的values
1) "15"
2) "swim"
127.0.0.1:6379>
  1. 指定增量
127.0.0.1:6379> hgetall hash
1) "age"
2) "15"
127.0.0.1:6379> hincrby hash age 2 #使hash中的age自增2
(integer) 17
127.0.0.1:6379> hincrby hash age -5 #使hash中的age自减5
(integer) 12
127.0.0.1:6379> hsetnx myhash name wang #如果不存在则创建,存在则创建失败
(integer) 1
127.0.0.1:6379> hgetall myhash
1) "name"
2) "wang"
127.0.0.1:6379>

小结
hash存储的是容易变更的数据,尤其是用户信息之类的,经常变动的信息,更适合于对象的存储,String更适合于字符串的存储。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值