redis常用数据类型之hash

hash类型
  • 新的存储需求:对一系列的数据进行编组,方便管理,典型应用存储对象信息
  • 需要的存储结构: 一个存储空间保存多个键值对数据
  • hashL诶性:底层使用哈希表实现数据存储


    image.png
hashL诶性数据的基本操作
  • 添加修改数据
    hset key field value
  • 获取数据
    hget key field
    hgetall key
  • 删除数据
    del key field [field2]
  • 添加/修改多个数据
    hmset key field1 value1 field2 value2
  • 获取多个数据
    hmget key field1 field2 field3 ...
  • 获取哈希表中字段的数量
    hlen key
  • 获取哈希表中是否存在指定的字段
    hexists key field
hash类型数据扩展操作
  • 获取哈希表中所有字段名或字段值
    hkeys key
    hvals key
  • 设置指定字段的数值数据增加指定范围的值
    hincrby key field increment
    hincrbyfloat key field increment
hash类型数据操作注意
  • hash类型下的value只能为字符串,不能为其他数据类型,不存早嵌套现象,若数据获取不到,则返回nil
  • hgetall 操作可以获取全部数据,如果内部field过多,会造成效率低下
hash类型应用场景
  • 业务场景一
image.png

仅分析购物车的redis存储模型
添加/浏览/更改数量/删除

  • 解决方案
     以客户id作为key,每位客户创建一个hash存储结构存储对应的购物车信息
     将商品编号作为field,购买数量作为value进行存储
     添加商品:追加全新的field与value
     浏览:遍历hash
     更改数量:自增/自减,设置value值
     删除商品:删除field
     清空:删除key

你可能感兴趣的:(redis常用数据类型之hash)