一、单值缓存:
hset key field value(value可以为字符串,也可以为对象)
hset user:0 name zhangsan
hget key field
hget user:0 name
二、对象缓存
hmset user {id}:name value {id}:age value
hmset user 1:name zhangsan 1:age 20
获取对象缓存,可以获取全部,也可以获取单个字段
获取全部:
hmget user 1:name 1:age
获取单个字段:
hmget user 1:name
hmget user 1:age
三、hash应用场景
如:电商购物车
1、添加商品:hset iphone:001 1001 1
hset iphone:001 1002 1
hset iphone:001 1003 1
(往key为iphone:001的用户id下加入一件编号为1001的商品)
2、增加商品数量:hincrby iphone:001 1001 1
(给刚才加入购物车的商品+1)
3、查看购物车商品种类:hlen iphone:001
(看看已经加入购物车中有多少种类的商品)
4、删除购物车中某个商品:hdel iphone:001 1001
5、获取购物车中全部商品信息:hgetall iphone:001
(因为刚才已经把id为1001的商品删除了,所以查询不到)
优点
1)同类数据归类整合储存,方便数据管理
2)相比string操作消耗内存与cpu更小
3)相比string储存更节省空间
缺点
过期功能不能使用在field上,只能用在key上
Redis集群架构下不适合大规模使用