- 官方列举特性如下:
================================================================================
Redis 5.0 RC1 Released Tue May 29 14:14:11 CEST 2018
================================================================================
Upgrade urgency LOW: This is the first RC of Redis 5.
Introduction to the Redis 5 release
===================================
Redis 5 is a release focused on a few important features. While Redis 4
was very very focused on operations, Redis 5 changes are mostly user-facing,
with the implementation of new data types and operations on top of existing
types. The following are the major features of this release:
1. The new Stream data type. https://redis.io/topics/streams-intro
2. New Redis modules APIs: Timers, Cluster and Dictionary APIs.
3. RDB now store LFU and LRU information.
4. The cluster manager was ported from Ruby (redis-trib.rb) to C code
inside redis-cli. Check `redis-cli --cluster help` for more info.
5. New sorted set commands: ZPOPMIN/MAX and blocking variants.
6. Active defragmentation version 2.
7. Improvemenets in HyperLogLog implementations.
8. Better memory reporting capabilities.
9. Many commands with sub-commands now have an HELP subcommand.
10. Better performances when clients connect and disconnect often.
11. Many bug fixes and other random improvements.
12. Jemalloc was upgraded to version 5.1
13. CLIENT UNBLOCK and CLIENT ID.
14. The LOLWUT command was added. http://antirez.com/news/123
15. We no longer use the "slave" word if not for API backward compatibility.
16. Differnet optimizations in the networking layer.
17. Lua improvements:
- Better propagation of Lua scripts to slaves / AOF.
- Lua scripts can now timeout and get in -BUSY state in the slave as well.
18. Dynamic HZ to balance idle CPU usage with responsiveness.
19. The Redis core was refactored and improved in many ways.
- Redis5.0 新特性
- 新增Streams 数据类型 ,
- 添加了新的模块API、定时器、集群及字典
- RDB中持久化存储LFU和LRU的信息
- redis-cli 中的集群管理器从 Ruby (redis-trib.rb) 移植到了 C 语言代码。执行 `redis-cli --cluster help` 命令以了解更多信息
- 新的有序集合(sorted set)命令:ZPOPMIN/MAX 和阻塞变体(blocking variants)
- 升级 Active defragmentation 至 v2 版本
- 增强改进 HyperLogLog 的实现
- 更好的内存统计报告
- 许多包含子命令的命令现在都有一个 HELP 子命令
- 客户端频繁连接和断开连接时,性能表现更好
- 许多错误修复和其他方面的改进
- 升级 Jemalloc 至 5.1 版本
- 引入 CLIENT UNBLOCK 和 CLIENT ID
- 新增 LOLWUT 命令http://antirez.com/news/123
- Redis 主从复制中的从节点不再称为 "Slave” ,改用”Replicas"
- 网络层中的差异优化
- Lua 相关的改进
- 引入动态的哈希 HZ(Dynamic HZ) 以平衡空闲 CPU 使用率和响应性能,可以通过配置文件设置,默认使用动态哈希。
- 对 Redis 核心代码进行了重构和优化
- 基本的数据结构
- 动态字符串 sds.c
- 压缩列表 ziplist.c
- 快速链表quicklist.c
- 字典 dict.c
- 整数集合 intset.c
- Streams 的底层实现结构 listpack.c 和 rax.c
参考链接: https://raw.githubusercontent.com/antirez/redis/5.0/00-RELEASENOTES