Redis借鉴了Linux操做系统对于版本号的命名规则node 版本号第二位若是是奇数则为非稳定版本例如2.7、2.9、3.1若是是偶数则为稳定版本例如2.6、2.8、3.0、3.2。当前奇数版本就是下一个稳定版本的开发版本例如2.9版本是3.0版本的开发版本因此咱们在生产环境一般选取偶数版本的Redis。下面是重大版本新功能的归纳Redis7.0新增Function自定义函数库函数库支持持久化与可复制支持Client-Eviction支持Sharded-Pub/Sub支持命令执行耗时直方图支持子命令级别的性能统计支持Global Replication Buffer使用Multi-Part AOF机制避免 AOF 重写机制的开销对 RDB 文件使用了新版本格式10与旧版本不兼容在读取老的RDB文件格式的时候将ziplist转换为listpack这种转换发生于两种情况之下从磁盘读取文件或者从一个主节点进行复制文件的时候ACL: 细粒度基于 key 的权限控制通过 selector 支持多种命令规则支持对Pub/Sub channel的权限控制。主从复制TTL 总是被复制为绝对非相对毫秒时间不再支持 gopher协议删除 STRALGO 命令当在配置文件中设置replica-serve-stale-datano 当主节点不再提供服务时PING命令得不到返回值在redis.conf配置文件中protected-mode 默认更改为yes只有当你希望你的客户端在没有授权的情况下可以连接到Redis server的时候可以将protected-mode设置为noLua脚本脚本本身代码不再支持持久化和复制仅对命令执行结果进行持久化和复制Redis6.0多线程 IOThreaded I/O众多新模块modulesAPI更好的过期循环expire cycle支持SSLACLs 权限控制RESP3 协议客户端缓存Client side caching无盘复制PSYNC2Redis-benchmark支持集群Redis-cli 优化、重写 Systemd 支持Redis 集群代理与 Redis 6 一同发布但在不同的 repoRDB更快加载SRANDMEMBER和类似的命令具有更好的分布STRALGO 命令带有超时的 Redis 命令更易用Redis5.0新的流数据类型(Streamdata type)支持多播的可持久化的消息队列 https://redis.io/topics/streams-intro新的 Redis 模块 API定时器、集群和字典 API(Timers, Cluster and Dictionary APIs)RDB 增加 LFU 和 LRU 信息集群管理器从 Ruby (redis-trib.rb) 移植到了redis-cli 中的 C 语言代码新的有序集合(sorted set)命令ZPOPMIN/MAX 和阻塞变体(blocking variants)升级 Active defragmentation 至 v2 版本增强 HyperLogLog 的实现更好的内存统计报告许多包含子命令的命令现在都有一个 HELP 子命令客户端频繁连接和断开连接时性能表现更好许多错误修复和其他方面的改进升级 Jemalloc 至 5.1 版本引入 CLIENT UNBLOCK 和 CLIENT ID新增 LOLWUT 命令 http://antirez.com/news/123在不存在需要保持向后兼容性的地方弃用 “slave” 术语网络层中的差异优化Lua 相关的改进引入动态的 HZ(Dynamic HZ) 以平衡空闲 CPU 使用率和响应性对 Redis 核心代码进行了重构并在许多方面进行了改进Redis4.0可能出乎不少的意料Redis3.2以后的版本是4.0而不是3.4、3.6、3.8。通常这种重大版本号的升级也意味着软件或者工具自己发生了重大改革。下面是Redis4.0的新特性提供了模块系统方便第三方开发者拓展Redis的功能。PSYNC2.0优化了以前版本中主从节点切换必然引发全量复制的问题。提供了新的缓存剔除算法LFULast Frequently Used(注意LFU和LRU算法的不同之处LRU的淘汰规则是基于访问时间而LFU是基于访问次数的)并对已有算法进行了优化。提供了非阻塞del和flushall/flushdb功能新添加了UNLINK命令 这个命令是 DEL 命令的异步版本 它可以将删除指定键的操作放在后台线程里面执行提供了memory命令实现对内存更为全面的监控统计。提供了交互数据库功能实现Redis内部数据库的数据置换。提供了RDB-AOF混合持久化*格式充分利用了AOF和RDB各自优点。Redis Cluster 兼容NAT和Docker。Redis3.2Redis3.2在2016年5月6日正式发布相比于Redis3.0主要特征以下添加GEO相关功能。SDS在速度和节省空间上都作了优化。支持用upstart或者systemd管理Redis进程。新的List编码类型quicklist。从节点读取过时数据保证一致性。添加了hstrlen命令。加强了debug命令支持了更多的参数。Lua脚本功能加强。添加了Lua Debugger。config set 支持更多的配置参数。优化了Redis崩溃后的相关报告。新的RDB格式可是仍然兼容旧的RDB。加速RDB的加载速度。spop命令支持个数参数。cluster nodes命令获得加速。Jemalloc更新到4.0.3版本。Redis3.0里程碑Redis3.0在2015年4月1日正式发布相比于Redis2.8主要特性以下Redis最大的改动就是添加Redis的分布式实现Redis Cluster。Redis ClusterRedis的官方分布式实现。全新的embedded string对象编码结果优化小对象内存访问在特定的工做负载下载速度大幅提高。Iru算法大幅提高。migrate链接缓存大幅提高键迁移的速度。migrate命令两个新的参数copy和replace。新的client pause命令在指定时间内中止处理客户端请求。bitcount命令性能提高。config set设置maxmemory时候能够设置不一样的单位以前只能是字节。Redis日志小作调整日志中会反应当前实例的角色master或者slave。incr命令性能提高。Redis2.8Redis2.8在2013年11月22日正式发布经历了24个版本到2.8.24版本相比于Redis2.6主要特性以下添加部分主从复制的功能在必定程度上下降了因为网络问题形成频繁全量复制生成RDB对系统形成的压力。尝试性的支持IPv6.能够经过config set命令设置maxclients。能够用bind命令绑定多个IP地址。Redis设置了明显的进程名方便使用ps命令查看系统进程。config rewrite命令能够将config set持久化到Redis配置文件中。发布订阅添加了pubsub。Redis Sentinel第二版相比于Redis2.6的Redis Sentinel此版本已经变成生产可用。Redis2.6Redis2.6在2012年正是发布经历了17个版本到2.6.17版本相对于Redis2.4主要特性以下缓存服务端支持Lua脚本。网络去掉虚拟内存相关功能。分布式放开对客户端链接数的硬编码限制。工具键的过时时间支持毫秒。性能从节点支持只读功能。优化两个新的位图命令bitcount和bitop。加强了redis-benchmark的功能支持定制化的压测CSV输出等功能。基于浮点数自增命令incrbyfloat和hincrbyfloat。redis-cli可使用–eval参数实现Lua脚本执行。shutdown命令加强。重构了大量的核心代码全部集群相关的代码都去掉了cluster功能将会是3.0版本最大的亮点。info能够按照section输出而且添加了一些统计项sort命令优化Redis 4.0 新功能简介 https://blog.huangz.me/diary/2016/redis-4-outline.htmlRedis 5.0新功能介绍 https://juejin.im/post/6844903832997085197Redis 6.0 新特性 - 多线程连环 13 问 https://xie.infoq.cn/article/fdc6387f6eca550b8e3a1b0eahttps://developer.aliyun.com/article/763834Redis 7.0 新功能新特性总览 https://blog.csdn.net/qianshangding0708/article/details/124580604