作为一名合格的开发,你要知道Redis 每个版本新增哪些特性

2021-12-27 15:52:13 浏览数 (1)

大家好,我是Tom哥~

Redis 作为高性能缓存中间件,日常开发工作中经常使用。

考虑到广泛的受众群体,Redis 有非常活跃的社区,官方也在不断推出新的版本、新的功能。

今天,我们就将近几年的版本做个汇总

大家也可以有个参考,如果一些新的特性对于日常工作价值很大,也可以考虑升级自己的系统版本

Redis 3.0(2015.04)

Redis系列博客基本都是基于redis 3.0来写的,Redis3.0在2015年4月1日正式发布,Redis最大的改动就是添加Redis的分布式实现Redis Cluster。相比于Redis2.8主要特性如下:

1、Redis Cluster:Redis的官方分布式实现。

2、全新的embedded string对象编码结果,优化小对象内存访问,在特定的工作负载下载速度大幅提升。

3、Iru算法大幅提升。

4、migrate连接缓存,大幅提升键迁移的速度。

5、migrate命令两个新的参数copy和replace。

6、新的client pause命令,在指定时间内停止处理客户端请求。

7、bitcount命令性能提升。

8、config set设置maxmemory时候可以设置不同的单位(之前只能是字节)。

9、Redis日志小做调整:日志中会反应当前实例的角色(master或者slave)。

10、incr 命令性能提升

Redis 3.2(2016.05)

Redis3.2 在2016年5月6日正式发布,相比于 Redis3.0 主要特征如下:

1、添加GEO相关功能

2、SDS在速度和节省空间上都做了优化

3、支持用upstart或者systemd管理Redis进程

4、新的List编码类型:quicklist

5、从节点读取过期数据保证一致性

6、添加了 hstrlen 命令

7、增强了 debug 命令,支持了更多的参数

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版本

Redis 4.0(2017.06)

Redis 3.2 之后的版本是 4.0,而不是3.4、3.6、3.8。一般这种重大版本号的升级也意味着软件或者工具本身发生了重大改革。Redis 4.0在2017年6正式发布,下面是Redis4.0的新特性:

1、提供了模块系统,方便第三方开发者拓展Redis的功能

2、PSYNC2.0:优化了之前版本中,主从节点切换必然引起全量复制的问题

3、提供了新的缓存剔除算法:LFU(Last Frequently Used),并对已有算法进行了优化

4、提供了非阻塞del和flushall/flushdb功能,有效解决删除了bigkey可能造成的Redis阻塞

5、提供了 memory 命令,实现对内存更为全面的监控统计

6、提供了交互数据库功能,实现Redis内部数据库的数据置换

7、提供了RDB-AOF 混合持久化格式,充分利用了AOF和RDB各自优势

8、Redis Cluster 兼容NAT和Docker

Redis 5.0(2018.10)

Redis 5.0在2018年10月正式发布,相比于Redis4.0主要特征如下:

1、新的Stream数据类型

2、新的Redis模块API:Timers and Cluster API

3、RDB现在存储LFU和LRU信息

4、集群管理器从Ruby(redis-trib.rb)移植到C代码。可以在redis-cli中。查看`redis-cli —cluster help`了解更多信息

5、新sorted set命令:ZPOPMIN / MAX和阻塞变量

6、主动碎片整理V2

7、增强 HyperLogLog 实现

8、更好的内存统计报告

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

10、客户经常连接和断开连接时性能更好

11、错误修复和改进

12、Jemalloc升级到5.1版

Redis 6.0(2020.05)

Redis 6.0 在2020年5月正式发布,相比于 Redis 5.0 主要特征如下:

1、ACL权限管控(包括ACL LOG)

2、客户端缓冲(Client side caching)

3、多线程 IO(Threaded I/O)

4、Redis集群代理

5、支持 linux/bsd 系统的CPU和线程(包括子线程如aofrdbIO线程)亲和力绑定

6、过期 Key 回收优化,新增主动配置参数

7、Resp3协议,兼容Resp2并更加简单、高效

8、优化了 INFO 命令,使之执行更快,优化了所有的阻塞命令,复杂度从O(n)到O(1),RDB加载速度优化,集群Slots命令优化,Psync2优化,修复了5.0的链式复制不一致问题。defrag优化,从试验版到正式版

9、新的module API

10、disque消息队列模块(module)

11、新增配置使Del命令如unlink执行

12、XINFO STREAM FULL流命令

13、CLIENT KILL USER username命令

14、全面支持SSL协议、并新增TSL协议

15、Redis-benchmark支持集群模式

16、重写 Systemd 支持

17、新增配置参数来删除用于在非持久性实例中进行复制的RDB文件

18、无磁盘复制副本(Diskless replication on replicas),从测试版优化,目前无磁盘复制在load rdb仍是测试版

0 人点赞