Redis入门到精通(三)——Hash数据类型的基本操作、Hash类型数据的扩展操作、操作注意事项、应用场景(购物车,销售商品限购)

Hash类型的存储结构

 

一、Hash类型数据的基本操作

添加/修改数据   hset key field value     #hset  kk name  wang
获取数据      
hget key field          (******)获取字段field的值
hgetall key        #获取key下面所有数据数据,显示field和value  
删除数据  hdel key field1  [field2]

多个数据修改

添加/修改多个数据   hmset key field1 value1 field2 value2  ...
获取多个数据   hmget key field1 field2 ...
获取哈希表中字段的数量  hlen key    #查看有多少个field的数量
获取哈希表中是否存在指定的字段    hexists key field

二、Hash类型数据的扩展操作

获取哈希表中所有的字段名field或字段值
hkeys key       #获取所有的field值        hkeys  kk   (******)
hvals  key       #获取字段值value          (******)

设置指定字段的数据增加指定范围的值
hincrby  key field  increment          #给指定的字段field增加指定的数值
hincrbyfloat  key field  increment     #增加小数

三、Hash类型数据操作的注意事项

 

四、Hash类型应用场景

 电商购物车设计与实现

 

解决方案

一次性设置多个商品    hmset  001  g1 10 g2 20     #给用户id为001设置商品g1 10个,g2 20个

 

以上这种方法,仅仅只是将数据存储到redis中,商品的详细信息还是需要二次查询数据库

 

这种设计存在的问题是field2可能会存在大量重复信息,所以field2采用独立的Hash,采用hsetnx避免重复添加

hsetnx  key field value     #如果当前的key中对应的field有值,就什么都不做,如果没值就加进去

销售商品案例

 

解决方案

 

 

posted @ 2020-05-09 09:58  只会玩辅助  阅读(378)  评论(0编辑  收藏  举报