Redis借鉴了Linux操作系统对于版本号的命名规则:版本号第二位如果
是奇数,则为非稳定版本(例如2.7、2.9、3.1),如果是偶数,则为稳定版
本(例如2.6、2.8、3.0、3.2)。当前奇数版本就是下一个稳定版本的开发版
本,例如2.9版本是3.0版本的开发版本。所以我们在生产环境通常选取偶数
版本的Redis,如果对于某些新的特性想提前了解和使用,可以选择最新的 奇数版本。

介绍一门技术的版本是很多技术图书的必备内容,通常读者容易忽略,
但随着你对这门技术深入学习后,会觉得“备感亲切”,而且通常也会关注新
版本的特性,本小节将对Redis发展过程中的一些重要版本及特性进行说
明。

1.Redis2.6
Redis2.6在2012年正式发布,经历了17个版本,到2.6.17版本,相比于
Redis2.4,主要特性如下:
1)服务端支持Lua脚本。
2)去掉虚拟内存相关功能。
3)放开对客户端连接数的硬编码限制。
4)键的过期时间支持毫秒。
5)从节点提供只读功能。
6)两个新的位图命令:bitcount和bitop。
7)增强了redis-benchmark的功能:支持定制化的压测,CSV输出等功
能。
8)基于浮点数自增命令:incrbyfloat和hincrbyfloat。
9)redis-cli可以使用–eval参数实现Lua脚本执行。
10)shutdown命令增强。
11)info可以按照section输出,并且添加了一些统计项。
12)重构了大量的核心代码,所有集群相关的代码都去掉了,cluster功
能将会是3.0版本最大的亮点。
13)sort命令优化。

2.Redis2.8
Redis2.8在2013年11月22日正式发布,经历了24个版本,到2.8.24版本,
相比于Redis2.6,主要特性如下:
1)添加部分主从复制的功能,在一定程度上降低了由于网络问题,造
成频繁全量复制生成RDB对系统造成的压力。
2)尝试性地支持IPv6。
3)可以通过config set命令设置maxclients。
4)可以用bind命令绑定多个IP地址。
54
5)Redis设置了明显的进程名,方便使用ps命令查看系统进程。
6)config rewrite命令可以将config set持久化到Redis配置文件中。
7)发布订阅添加了pubsub命令。
8)Redis Sentinel第二版,相比于Redis2.6的Redis Sentinel,此版本已经
变成生产可用。

3.Redis3.0
Redis3.0在2015年4月1日正式发布,截止到本书完成已经到3.0.7版本,
相比于Redis2.8主要特性如下:
注意
Redis3.0最大的改动就是添加Redis的分布式实现Redis Cluster,填补了
Redis官方没有分布式实现的空白。Redis Cluster经历了4年才正式发布也是
有原因的,具体可以参考Redis Cluster的开发日志
http://antirez.com/news/79)。
1)Redis Cluster:Redis的官方分布式实现。
2)全新的embedded string对象编码结果,优化小对象内存访问,在特定
的工作负载下速度大幅提升。
3)lru算法大幅提升。
4)migrate连接缓存,大幅提升键迁移的速度。
55
5)migrate命令两个新的参数copy和replace。
6)新的client pause命令,在指定时间内停止处理客户端请求。
7)bitcount命令性能提升。
8)config set设置maxmemory时候可以设置不同的单位(之前只能是字
节),例如config set maxmemory1gb。
9)Redis日志小做调整:日志中会反应当前实例的角色(master或者
slave)。
10)incr命令性能提升。

4.Redis3.2
Redis3.2在2016年5月6日正式发布,相比于Redis3.0主要特征如下:
1)添加GEO相关功能。
2)SDS在速度和节省空间上都做了优化。
3)支持用upstart或者systemd管理Redis进程。
4)新的List编码类型:quicklist。
5)从节点读取过期数据保证一致性。
6)添加了hstrlen命令。
7)增强了debug命令,支持了更多的参数。
56
8)Lua脚本功能增强。
9)添加了Lua Debugger。
10)config set支持更多的配置参数。
11)优化了Redis崩溃后的相关报告。
12)新的RDB格式,但是仍然兼容旧的RDB。
13)加速RDB的加载速度。
14)spop命令支持个数参数。
15)cluster nodes命令得到加速。
16)Jemalloc更新到4.0.3版本。

5.Redis4.0
可能出乎很多人的意料,Redis3.2之后的版本是4.0,而不是3.4、3.6、
3.8。一般这种重大版本号的升级也意味着软件或者工具本身发生了重大变
革,直到本书截稿前,Redis发布了4.0-RC2,下面列出Redis4.0的新特性:
1)提供了模块系统,方便第三方开发者拓展Redis的功能,更多模块详
见:http://redismodules.com
2)PSYNC2.0:优化了之前版本中,主从节点切换必然引起全量复制的
问题。
3)提供了新的缓存剔除算法:LFU(Last Frequently Used),并对已有
57
算法进行了优化。
4)提供了非阻塞del和flushall/flushdb功能,有效解决删除bigkey可能造
成的Redis阻塞。
5)提供了RDB-AOF混合持久化格式,充分利用了AOF和RDB各自优
势。
6)提供memory命令,实现对内存更为全面的监控统计。
7)提供了交互数据库功能,实现Redis内部数据库之间的数据置换。
8)Redis Cluster兼容NAT和Docker。

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐