Redis5.0新特性


Redis 5主要专注于几个重要功能。

相比之下Redis 4非常非常专注于操作类型,Redis 5的变化大多是面向用户的。

即在现有的基础上增加新的数据类型和操作类型。

以下是此版本的主要功能: 

1、新的流数据类型(Stream data type) 

2、新的 Redis 模块 API:定时器、集群和字典 API(Timers, Cluster and Dictionary APIs) 

3、RDB 增加 LFU 和 LRU 信息 

4、集群管理器从 Ruby (redis-trib.rb) 移植到了redis-cli 中的 C 语言代码

5、新的有序集合(sorted set)命令:ZPOPMIN/MAX 和阻塞变体(blocking variants)

6、升级 Active defragmentation 至 v2 版本

7、增强 HyperLogLog 的实现

8、更好的内存统计报告

9、许多包含子命令的命令现在都有一个 HELP 子命令

10、客户端频繁连接和断开连接时,性能表现更好

11、许多错误修复和其他方面的改进

12、升级 Jemalloc 至 5.1 版本

13、引入 CLIENT UNBLOCK 和 CLIENT ID

14、新增 LOLWUT 命令

15、在不存在需要保持向后兼容性的地方,弃用 "slave" 术语

16、网络层中的差异优化

17、Lua 相关的改进

18、引入动态的 HZ(Dynamic HZ) 以平衡空闲 CPU 使用率和响应性

19、对 Redis 核心代码进行了重构并在许多方面进行了改进

重量级特性——Stream

Redis Stream本质上是个时序数据结构,具有如下特点: 

1.每条记录是结构化、可扩展的对

2.每条记录在日志中有唯一标识,标识中包含了时间戳信息,单调递增

3.可以根据需要自动清理历史记录

4.保存在内存中,支持持久化

底层是修改版的radix tree,每个node存储了一个listpack。

listpack是一块连续的内存block,用于序列化msg entry及相关元信息,如msg ID,使用了多种编码,用于节省内存,是ziplist的升级版。

如果XADD每次添加的对中的field是一样的,那么field不会重复存储。

Redis5.0新特性

内存友好,对于简单的十几~几十字节的msg,100MB内存可以存储数百万个。

listpack在内存和disk上的存储结构是一样的,所以stream数据在做RDB时效率非常高,0.3s,500w entries。

Redis Stream使用演示

Redis5.0新特性

Redis Stream使用场景 可用作时通信等,大数据分析,异地数据备份

Redis5.0新特性

客户端可以平滑扩展,提高处理能力

Redis5.0新特性

感谢这个版本的相关用户和开发者。

开发组接下来会发布更多的RC版本,直到已经完全没问题。

开发组时没有收到有关严重问题的报告。

从4.0版本迁移到5.0版本的注意事项:

Redis 4.0大多是5.0的严格子集,应用程序从4.0升级到5.0通常不会碰见问题。

以下是5.0版本中引入的非后向兼容更改:

· redis-cli现在实现了集群管理工具。 我们仍然在维护旧的redis-trib,但是新的修复只会在redis-cli中实现。有关更多信息,请参阅`redis-cli —cluster help`。

· RDB格式已更改。 Redis 5.0能够读取4.0(和所有的过去的版本)文件,反之则不能。

· 某些日志格式和语句在Redis 5.0中不同。

相关阅读 >>

详解Redis rdb方式数据备份与恢复

Redis三种部署方案图文详解

Redis集群和分布式区别

Redis本身可以限流么

Redis集群有什么作用

聊聊Redis中的哨兵模式

Redis如何修改默认密码

Redis如何实现限流?3种实现方式介绍

Redis限制ip访问次数的方法

Redis什么时候用list

更多相关阅读请进入《Redis》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...