Redis数据类型之Hash

一、Redis五种数据类型

Redis数据类型之Hash_第1张图片
前言:
Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。 Redis 中每个 hash 可以存储 2的32次方 - 1 键值对(40多亿)
可以看成具有KEY和VALUE的MAP容器,该类型非常适合于存储值对象的信息,
如:uname,upass,age等。该类型的数据仅占用很少的磁盘空间(相比于JSON)

一、Hash结构

1.hash常用操作

命令 解释
HSET key field value 存储一个哈希表的键值对
HSETNX key field value 存储一个不存在的哈希表key的键值对
HMSET key field value [field value…] 在一个哈希表key中存储多个键值对
HGET key field 获取哈希表key对应的field的键值
HMGET key field [field…] 批量获取哈希表key中多个field的键值
HDEL key field [field…] 删除哈希表key中field的键值
HLEN key 返回哈希表key中field的数量
HGETALL key 返回哈希表key中所有的键值
HINCRBY key field increment 为哈希表key中field键的值加上增量increment
二、Hash应用场景

1.对象缓存
Redis数据类型之Hash_第2张图片
Redis数据类型之Hash_第3张图片
HMSET user {userid}:name zhuge {userid}:balance 1888
HMSET USER 1:name zhuge 1:balance 1888
HMGET user 1:name 1:balance
在这里插入图片描述

2.电商购物车
Redis数据类型之Hash_第4张图片
(1) 以用户id为key
(2)商品id为field
(3)商品数量为value
购物车操作:
(1) 添加商品–>HSET cart:1001 10888 1
(2) 增加数量–>HINCRBY cart:1001 10888 1
(3)获取数量总数–> HGET cart:1001 10888
(4)商品总数–>HLEN cart:1001
(5)删除商品–>HDEL cart:1001 10888
(6)获取购物车所有商品–>HGETALL cart:1001

三、Hash结构优缺点

1.优点

1)同类数据归类整合存储,方便数据管理
(2)相比string操作消耗内存与cpu更小
(3)相比string存储更节省空间

2.缺点

1)过期功能不能使用在field上,只能用在key上
(2)Redis集群架构下不适合大规模使用

你可能感兴趣的:(Redis)