【Redis学习】Hash数据类型

引言

通过上一章我们知道,可以使用string类型存储csdn专家博客的用户信息,但是较频繁的更新用户信息,String类型操作起来比较笨拙,那么有没有更好的方式呢?我们可以使用redis中的hash数据类型来存储对象类数据。
在这里插入图片描述
hash数据类型:典型的对象类数据存储,一个存储空间保存多个键值对数据。

基本操作
  • 添加数据
hset key field value
  • 获取数据
hget key field #获取指定字段的值
hgetall key #获取所有的字段和值
  • 删除数据
hdel key field1 field2 ...
  • 添加多个数据
hmset key field1 value1 field2 value2 ...  #如果field存在则覆盖,否则创建
  • 获取多个数据
hmget key field1 field2 ... 
  • 获取hash表中字段的数量
hlen key
  • 获取hash表中是否存在指定的字段
hexists key field #返回值:1存在,0不存在
扩展操作
  • 获取hash表中所有的字段名或字段值
hkeys key #获取hash表中的所有字段名
hvals key #获取hash表中的所有字段值
  • 设置指定字段的数值增加指定范围的值
hincrby key field increment #指定hash表中的字段对应的值增加指定的increment(整数)
hincrbyfloat key field increment #指定hash表中的字段对应的值增加指定的increment(float)
hash类型数据操作注意事项
  • hash表中的value只能存储字符串,不允许存储其他数据类型,不存在嵌套现象。如果数据未获取到,返回(nil)
  • 每个hash可以存储 2^32-1个键值对
  • hash类型很贴近对象类的数据存储,并且可以灵活添加删除对象属性,但是hash设计初衷不是为了存储大量对象而设计的,千万不要滥用,否则效率会很低下。
    ash类型很贴近对象类的数据存储,并且可以灵活添加删除对象属性,但是hash设计初衷不是为了存储大量对象而设计的,千万不要滥用,否则效率会很低下。
  • hgetall操作可以获取所有的属性,但是如果field过多,效率会很低下,所以用到啥取啥,别全部都取。
应用场景

购物车、商家抢购

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值