Redis五种基本类型及应用(常用场景)

4 篇文章 0 订阅
4 篇文章 0 订阅

1-String类型

字符串是Redis中最简单的数据类型,一个key对应一个value。redis的string类型可以包含任何数据。把常用信息,字符串,序列化后的对象,token,session等信息放到redis中,降低mysql的读写压力,也可以实现分布式锁(建议用Redission实现),可以用来常规计数。

2-List类型

列表是一个双向列表,支持在列表的两端进行元素的添加和删除操作。可以用来做最新文章、最新动态需求。

3-Hash类型

Hash 类型的 (key,field, value) 的结构。
Redis hash 是一个 string 类型的 field(字段) 和 value(属性) 的映射表,hash 特别适合用于存储对象。一个hash可以存多个key-value,类似一个对象的多个字段和属性。可以应用到用户信息、商品信息、文章信息、购物车信息。比如是缓存购物车信息,key可以为用户id,filed可以为商品id,value可以为商品信息(包含添加购物车商品的数量)。这样子可以区分购物车是哪个用户添加了哪些商品和添加对应商品的数量。

4-Set类型

集合成员是不可重复的而且无序的。
Set 类型的底层数据结构是由哈希表或整数集合实现的。
添加,删除,查找的复杂度都是 O(1)可以应用到需要存放的数据不能重复的场景,需要获取多个数据源交集、并集和差集的场景,需要随机获取数据源中的元素的场景。

5-Zset类型

Zset 类型(有序集合类型)相比于 Set 类型多了一个排序属性 score(分值),对于有序集合 ZSet 来说,每个存储元素相当于有两个值组成的,一个是有序集合的元素值,一个是double类型的排序值(score)。使得集合中的元素能够按score进行有序排列。
特点:有序集合的成员是唯一的,但分数(score)却可以重复。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。
1.排行榜:有序集合经典使用场景。按照权重做排行。
2.成绩排行:score设置为成绩分数来进行排序。
3.权重分配:可以用sorted set来做带权重的队列,比如普通消息的score为1,重要消息的score为2,重要的任务排在前面优先执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值