Hash常用操作
hset key field value 存储一个哈希表key的键值
hsetnx key field value 存储一个不存在的哈希表key的键值
hmset key field1 value1 field2 value2 ... 在一个哈希表key中存储多个键值对
hget key field
hmget key field1 field2
hlen key
hdel key field1 field2...
hgetall key
hincrby key field increment
Hash应用场景
-
对象缓存
hmset user 1:name jqc 1:balance ssy
hmget user 1:name 1:balance
-
电商购物车
- 以用户id为key
- 商品id为field
- 商品数量为value
- 购物车操作
- 添加商品 hset cart:1001 10088 1
- 增加数量 hincrby cart:10001 10088 1
- 商品总数 hlen cart:10001
- 删除商品 hdel cart:10001 10088
- 获取购物车所有商品 hgetaall cart:10001
Hash结构的优缺点
-
优点
- 同类数据归类整合储存,方便数据管理
- 相比string操作消耗的内存与cpu更小
- 相比string储存更省空间
-
缺点
- 过期功能不能用在field上,只能用在key上
- Redis集群架构下不适合大规模使用