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有值,就什么都不做,如果没值就加进去
销售商品案例
解决方案