Redis发布版本历程


发布于 2024-09-03 / 13 阅读 / 0 评论 /
Redis发布版本内容和发布时间

redis发布版本内容参考https://github.com/redis/redis/releases

Redis 的演化之路可以归纳为制定协议、节约内存、支持多种数据类型、引入集群支持、实现高可用、提供扩展功能等几个阶段。

v7.x

7.x系列共有以下发布版本

7.4.0(2024-07-29)

这是最新的发布版本

7.2.0(2023-08-15)

此系列最后一个版本为7.2.5(2024-05-19)

7.0.0(2022-04-27)

此系列最后一个版本为7.0.15(2024-01-09)

v6.x

6.x系列共有以下发布版本

6.2.0(2021-02-23)

此系列最后一个版本为6.2.14(2023-10-18)

6.0.0(2020-04-30)

Redis 6.0 带来以下重要的新特性:

(1)新的命令和数据类型的增加:引入了多条新命令,例如 XPEEK、XGROUP、XACK 等等。同时也增加了模块化数据类型 LISTPACK 这个数据结构用于列表。

(2)增强的集群功能:加强了对集群的支持,包括更好的负载均衡、更快的故障转移和更强的容忍度,这使得 Redis 集群更加可靠和稳健。

(3)更快的性能和更低的延迟:引入了很多性能优化,包括 CRC32C 校验和、优化的数据结构、更好的虚拟内存管理等等,这些变化相比之前版本更加高效。

(4)更好的内存管理:引入了新的内存分配器 jemalloc,这个内存分配器能够有效地减少内存碎片,并且提高 Redis 的内存利用率和性能。

(5)更好的可伸缩性:改善了对大规模数据和高并发流量应用场景的支持,使得 Redis 数据库更加可伸缩和可扩展。

(6)更好的安全性:提供了更好的安全性支持,包括加强的密码和 SSL/TLS 加密支持,保障 Redis 在分布式网络中的安全通信。

此系列最后一个版本为6.0.20(2023-07-10)

v5.x

5.x系列共有以下发布版本

5.0.0(2018-10-17)

Redis 5.0的一些更突出的新特性:

(1)内置的模块化架构:引入了一个内置的模块化架构,使得开发人员可以更加灵活地定制和扩展 Redis 功能。

(2)更加安全和可靠的持久化机制:针对 AOF(Append Only File)和 RDB(Redis 数据库快照)机制进行了优化,提供了更加高效和可靠的数据存储和备份方案。

(3)新增数据类型:引入了相对时间类型(Reliable Timer),支持延迟任务调用和持续计时等场景,也添加了一种新的数据类型:流带有客户端组支持, 以便开发人员可以轻松地在 Redis 中存储和查询有序事件测试。

(4)多种集群模式:提供了更多的集群部署模式,包括在不同机房之间进行数据中心复制和分片,提高了 Redis 数据库的应用容错性和可伸缩性。

(5)新增多条命令:增加了多个新的命令,例如 RPOPLPUSH 命令和 ZPOPMAX/ZPOPMIN 命令等等,这些操作可以更好地支持具有高吞吐量的实时应用程序。

Redis 5.0的发布将继续推动Redis数据库的应用和发展,为Redis数据存储和管理提供更加完整的功能支持。

此系列最后一个版本为5.0.14(2021-10-04)

v4.x

4.x系列共有以下发布版本

4.0.0(2017-07-14)

以下是Redis 4.0.0中一些比较重要的特性:

(1)更强大、高效的集群功能:实现了自动分片和无中心式的集群控制平面,提高了Redis数据库的可用性和伸缩性。

(2)增加新的数据类型:引入了模块化数据类型,如快照文件、复制和持久化机制,可以自由地扩展和定制Redis数据库的功能。

(3)事务和批处理等功能增强:实现了多命令执行的事务机制和批量处理机制,提高了Redis数据库的性能和可用性。

(4)增强持久化机制:改进了RDB和AOF机制,提供更加高效和可靠的数据备份和恢复方案。

(5)流水线集群:引入了新的流水线集群协议,可以同时执行多个命令,提高了Redis数据库的性能。

(6)增强的集合:增加了多个对集合类型的操作指令,增强了集合的功能。

(7)增强的有序集合:也增加了多个对有序集合类型的操作指令,增强了有序集合的功能。

(8)客户端缓存:实现了客户端缓存(client-side caching)机制,可以在客户端上缓存一些热点数据,提高应用程序的性能和可用性。

(9)Redis Graph:引入了Redis Graph模块,提供图形数据库功能,支持图形数据存储和处理。

(9)Secured Redis:增加了对安全性的支持,可以对Redis访问进行认证和授权,提高了Redis数据库的安全性。

Redis 4.0在功能和性能方面都得到了很大的提升,为Redis数据库的应用和发展带来更广泛的机遇。

此系列最后一个版本为4.0.14(2019-03-18)

v3.x

3.x系列共有以下发布版本

3.2.0(2016-05-06)

Redis 3.2 引入的一些重要特性:

(1)实用的集群架构:引入了对 Redis 集群的完整支持,支持高可用性、数据复制和分片。

(2)流数据类型:引入了流(stream),可以用于有序、事件型数据的存储和处理。

(3)Lua 脚本增强:提供了更多 Lua 脚本的操作和支持,可以用于更加复杂和灵活的应用程序开发。

(4)增强的持久化机制:通过改进 RDB(Redis 数据库快照)和 AOF(Append Only File)两种持久化机制,提供更加高效和可靠的数据备份和恢复。

(5)新增命令和数据结构:增加了多个新的功能,包括 GEO 数据类型、针对 HyperLogLog 和 Bloom 过滤器的命令,以及一些有关时间序列的新命令和数据结构。

(6)带有模式识别的键过期:允许使用通配符进行键匹配并设置带有模式识别的键过期时间。

此系列最后一个版本为3.2.13(2019-05-18)

3.0.0(2015-04-01)

以下是 Redis 3.0 中一些重要的特性:

(1)多种新的命令和数据结构:引入了多条新命令,例如 GEOADD、BITFIELD 等等。同时也增加了新的数据结构,包括 GEO 数据类型和 HyperLogLog 数据类型。

(2)增强的 Sentinal 系统:增强了 Sentinal 系统,提高了 Redis 高可用性和自动故障迁移能力。

(3)多种新的集群模式:提供了多种新的集群模式,例如 Redis Cluster,提高了 Redis 数据库的可用性和可扩展性。

(4)新的持久化机制:提供了 RDB(Redis 数据库快照)和 AOF(Append Only File)两种持久化机制,并对这两种机制进行了优化和增强。

(5)更好的 Lua 脚本支持:改进了 Lua 脚本支持,提高了 Redis 数据库的可扩展性和灵活性。

(6)多种新的配置选项:引入了多种新的配置选项,使得 Redis 数据库更加灵活可配置。

此系列最后一个版本为3.0.7(2016-01-25)

v2.x

2.x系列共有以下发布版本

2.8.0(2013-11-22)

以下是Redis 2.8 中一些比较重要的特性:

(1)增强的 Lua 脚本支持:引入了支持 Redis 事务的 Lua 脚本,并且在 Lua 语言层面加入了支持 SHA1 校验和,为 Redis 更多应用场景提供了自定义扩展功能。

(2)新的 Redis Sentinel 实现:引入了 Redis Sentinel,一个分布式系统的监视器,支持 Redis 高可用性和自动故障转移。

(3)多种新的命令和数据结构:引入了多条新命令,例如 BITCOUNT、MSETNX 等等。同时也增加了新的数据结构,包括带有 TTL 的有序集合(ZSET)和哈希表(HASH)。

(4)优化增量重写:改进了 RDB(Redis 数据库快照)机制中的增量重写,使得 Redis 数据库的备份和恢复更加高效和可靠。

(5)更好的性能:引入了多种性能优化,例如对 Redis 原生虚拟内存的支持、对新的数据结构的支持、对网络I/O的优化等等,加快了 Redis 的处理速度和响应速度。

总体来说,Redis 2.8 在性能、可扩展性、容错性和灵活性等方面都有很大提升,为 Redis 数据库的应用和发展提供了更加全面、高效和可靠的功能支持,使得 Redis 数据库在实时数据存储和快速数据处理场景得到了更广泛的应用和支持。

此系列最后一个版本为2.8.24(2015-10-18)

2.6.0(2012-10-22)

以下是 Redis 2.6 中一些重要的特性:

(1)引入虚拟存储:引入了虚拟存储机制,支持将不常用的数据自动保存到磁盘中,减少了 Redis 服务器的内存占用。

(2)支持持久化:首次引入了 AOF(Append Only File)持久化机制,可以将每次写操作追加到文件中,以保证数据的可靠性和持久化。

(3)内存优化机制:引入了内存优化机制,通过压缩列表(ziplist)和增量哈希表,减少了 Redis 对内存的占用,提高了 Redis 的性能和稳定性。

(4)增加新的数据类型:增加了一种新的数据类型——到期键(EXPIRE),可以指定键的生存时间,并在过期后删除键,具有很强的应用价值。

Redis 2.6 除了以上的变化和新增的功能外,还对性能和错误处理能力进行了大幅优化和改进,提高了 Redis 的可靠性和稳定性。

此系列最后一个版本为2.6.17(2013-12-11)

2.4.0(2011-10-14)

以下是 Redis 2.4 中一些重要的特性:

(1)引入主从复制:实现了主从复制机制,使得 Redis 可以在多个服务器之间进行数据复制和同步,提高了 Redis 数据库的可伸缩性和可用性。

(2)实现发布订阅模式:引入了发布订阅模式,允许多个客户端订阅指定的频道,并实时接收有关数据更新和变化的通知。

(3)支持事务:实现了事务机制,使用 MULTI/ EXEC 命令将多个操作封装成一个事务,并通过 WATCH 命令实现乐观锁机制,保证数据的一致性和完整性。

(4)提供管道功能:提供了管道技术,可以批量地执行命令并返回结果,减少网络带宽和延迟,提高了 Redis 的性能。

除了以上的变化和新增的功能外,Redis 2.4 还对性能、稳定性和错误处理能力等方面进行了大幅优化和改进。

此系列最后一个版本为2.4.18(2012-11-28)

2.2.0(2011-02-22)

以下是 Redis 2.2 中一些重要变化和新增功能:

(1)支持 Redis 脚本:首次引入了 Lua 脚本,并增加了 EVAL/EVALSHA 命令,使得用户可以根据具体业务需求,编写代码对 Redis 中的数据进行处理和操作。

(2)引入有序集合(sorted set):有序集合被引入,该数据结构类似于无序集合(set),但每个元素都有一个关联的分数,可以用于分数排名等场景。

(3)强化调试功能:引入了调试命令,如 OBJECT 和 DEBUG,为开发人员提供了诊断和调试 Redis 服务器问题的工具。

(4)新增命令:Redis 2.2 中增加了一些新命令,如 ZRANK、ZREVRANK、ZCOUNT 等。

(5)支持大数值的整型、增加了对 IPv6 的支持。

Redis 2.2 在性能和可靠性方面得到了大幅改进。

此系列最后一个版本为2.2.15(2011-10-17)

2.0.0(2010-09-03)

以下是 Redis 2.0 中一些重要的特性:

(1)引入虚拟内存:第一次实现了虚拟内存,支持将部分不常用的数据保存到磁盘中,保证了 Redis 在物理内存不足时仍然能够正常工作。

(2)实现 Lua 脚本语言:引入了 Lua 脚本语言,可用于开发 Redis 数据源的无缝集成、数据过滤、数据平滑、数据分析以及数据交换等操作。

(3)支持哈希操作:实现了哈希类型的操作,允许用户直接对哈希表进行添加、删除和更新操作,并支持在哈希元素上执行命令。

(4)提供慢查询日志:引入了慢查询日志记录机制,使得开发人员可以有效地识别性能瓶颈和调优 Redis 的应用程序。

除了以上的变化和新增的功能外,Redis 2.0 也大幅提升了性能和稳定性。

此系列最后一个版本为2.0.5(2011-03-04)

v1.x

1.x系列共有以下发布版本

1.3.6(2010-03-18)

此系列最后一个版本为1.3.12(2010-05-16)