分布式缓存Redis

Redis 5.0支持的新特性说明

2024-05-22 06:04:22

参考官方的文章:https://redis.com/blog/redis-5-0-is-here/

Stream类型

具体内容建议参考官方文档: https://redis.io/docs/data-types/streams/

Stream 是一种数据结构,其作用类似于仅追加日志,但也实现了一些操作来克服典型的仅追加日志的一些限制。其中包括O1)时间内的随机访问和复杂的消费策略,如消费者群体。您可以使用流实时记录和同时联合事件。Redis Stream用例示例包括:

事件来源(例如,跟踪用户动作、点击等)

传感器监测(例如,现场设备的读数)

通知(例如,将每个用户的通知记录存储在单独的流中)

Redis为每个Stream目生成一个唯一的ID。您可以使用这些ID稍后检索其关联条目,或者读取和处理流中的所有后续条目。请注意,由于这些ID与时间有关,此处显示的ID可能会有所不同,并且与您在自己的Redis实例中看到的ID不同。

Redis流支持多种微调策略(以防止流无限增长)和多个消费策略(请参阅XREADXREADGROUPXRANGE

下面是与PUB/SUB对比

项目

Stream

Pub/Sub

持久化

支持

不支持

消费分组

支持

不支持

消费确认

支持

不支持

性能

与客户端数量无关,性能非常好

客户端多的时候,性能会出现明显的下降

数据隔离

DB间数据互相独立

不同DB的数据能互相看到,不独立

模块API

支持新的REDIS 模块API: 定时器  集群 和字典API

LUA改进

LUA脚本可以复制到备库上。

LUA脚本现在可以超时

动态hz

之前的REDIS hz是固定值。 新版本为了平衡CPU和响应能力,支持hz动态变化.

新增ZPOP命令

SORTED SET的命令新增了如下命令:

命令

功能

文档地址

ZPOPMIN

删除并返回在Sorted Set中得分最低的值。 默认是返回1

https://redis.io/commands/zpopmin/

ZPOPMAX

删除并返回在Sorted Set中得分最高的值。 默认是返回1

https://redis.io/commands/zpopmax/

BZPOPMIN

阻塞版的ZPOPMIN

https://redis.io/commands/bzpopmin/

BZPOPMAX

阻塞版的ZPOMAX

https://redis.io/commands/bzpopmax/


_Dc8W8.KSXLn