Redis 4.x系列(插序):Redis 5 第一个稳定版本发布及新特性
在缓存领域,Redis 处于遥遥领先的地位,Redis 4 第一个稳定版本发布已经一年多,中间有些小版本的更新。
Redis 新的大版本 Redis 5 于 2018年10月17日(周三) 发布了第一个稳定版本:Redis 5.0.0 stable。
Redis 官网, Redis 5.0 release notes, Redis GitHub。
Redis 5 新特性
- 引入新的数据类型:Stream,借签了 Kafka,以更抽象的方式模拟日志数据结构。
- Redis 定时器、集群、和字典模块新增了 API。
- RDB 现在可存储 LFU 和 LRU 信息。
- 集群管理器抛弃之前 Ruby(主要依赖 redis-trib.rb 脚本) ,改为完成由 C 来实现,查看
redis-cli --cluster help
了解更多信息。 - 新的有序集命命令:ZPOPMIN/MAX和 阻塞变种(blocking variants) 。
- 升级 Active defragmentation(主动碎版整理) 至 v2 版本。
- 改进了数据类型 HyperLogLog 的实现。
- 更好的内存报告功能.
- 为带子命令的命令提供一个 HELP 子命令。
- 为客户端经常频繁连接/断开提供更优的性能。
- 修复许多 Bug 和其它的改进。
- 内存分配库 Jemalloc 升级到5.1版。
- 引入 CLIENT UNBLOCK 和 CLIENT ID
- 新增 LOLWUT 命令,该命令是为了娱乐,且每个版本可能都不一样。 具体可参考LOLWUT: a piece of art inside a database command。
- 如果不是为了向后兼容,将弃用 “slave” 术语(因政治正确而议论比较大导致)。
- 网络层中的差异优化。
- Lua 相关的改进:将 Lua 脚本更好地传播到 replicas / AOF。
Lua 脚本现在可以超时并在副本中进入 -BUSY 状态。 - 引入动态的 HZ(Dynamic HZ) 以平衡空闲 CPU 使用率和响应性。
- 对 Redis 核心代码进行了重构并在多方面进行了改进。
虽然发布了 Redis 5 第一个稳定版本,但短期内将其应用于生产是不合适的,比如有些公司现在才开始将 Redis 集群中的实例从 Redis 3 逐步更新到 Redis 4版本,应用于大规模的生产最好是在其被检验一段时间后再评估。
目前 Redis 4.x系列 文章基于 4.x 版本对其功能特性进行详解和实践,过一段时间后再对 Redis 5.0 新特性进行深入理解和实践。
Redis 4.x系列(插序):Redis 5 第一个稳定版本发布及新特性