支持的 ElastiCache (Redis OSS) 版本 - 亚马逊 ElastiCache (Redis OSS)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

支持的 ElastiCache (Redis OSS) 版本

ElastiCache 无服务器缓存支持以下 Redis OSS 版本:

ElastiCache (Redis OSS) 7.1 版(增强版)

此版本包含性能改进,使工作负载能够推动更高的吞吐量和更低的操作延迟。 ElastiCache 7.1 引入了两个主要的增强功能

我们扩展了增强型 I/O 线程功能,使其还可以处理表示层逻辑。所说的表示层,我们指的是增强型 I/O 线程,它们现在不仅读取客户端输入,还会将输入解析为 Redis OSS 二进制命令格式。然后将其转发到主线程用于执行,从而提高性能。改进了 Redis OSS 内存访问模式。许多数据结构操作的执行步骤是交错的,以确保并行内存访问并减少内存访问延迟。在基于 Graviton3 R7g.4xlarge 或更高版本 ElastiCache 上运行时,客户每节点每秒可以实现超过 100 万个请求。随着 ElastiCache (Redis OSS) v7.1 的性能改进,与 ElastiCache (Redis OSS) v7.0 相比,客户可以将吞吐量提高多达 100%,将 P99 延迟降低 50%。这些增强功能适用于具有至少 8 个物理内核的节点大小(采用 Graviton 时为 2xlarge,采用 x86 时为 4xlarge),不受 CPU 类型的限制,并且无需更改客户端。

注意

ElastiCache v7.1 与 Redis OSS v7.0 兼容。

ElastiCache (Redis OSS) 7.0 版(增强版)

ElastiCache (Redis OSS) 7.0 增加了许多改进和对新功能的支持:

  • Redis OSS Functions: ElastiCache (Redis OSS) 7 增加了对 Redis OSS 函数的支持,并提供了托管体验,使开发人员能够使用存储在 ElastiCache集群上的应用程序逻辑执行 LUA 脚本,而无需客户端在每次连接时都将脚本重新发送到服务器。

  • ACL 改进: ElastiCache (Redis OSS) 7 增加了对下一版本的 Redis OSS 访问控制列表 (ACL) 的支持。借助 ElastiCache (Redis OSS) 7,客户端现在可以为 Redis OSS 中的特定密钥或密钥空间指定多组权限。

  • Sharded Pub/Sub: ElastiCache (Redis OSS) 7 增加了对在启用集群模式 (CME) 下运行时以分片方式运行 Redis OSS Pub/Sub 功能的支持。 ElastiCache Redis OSS Pub/Sub 功能使发布者能够向频道上任意数量的订阅者发布消息。在 Amazon ElastiCache (Redis OSS) 7 中,通道绑定到 ElastiCache 集群中的分片,无需在分片之间传播通道信息,从而提高了可扩展性。

  • 增强型 I/O 多路复用: ElastiCache (Redis OSS) 版本 7 引入了增强的 I/O 多路复用,可为具有许多并行客户端连接到集群的高吞吐量工作负载提供更高的吞吐量和更短的延迟。 ElastiCache 例如,与(Redis OSS)版本 6 相比,使用由 r6g.xlarge 节点组成的集群并运行 5200 个并发客户端时,吞吐量(每秒读取和写入操作数)最多可提高 72%,P99 延迟最多可减少 71%。 ElastiCache

有关 Redis OSS 7.0 版本的更多信息,请参阅 Redis OSS 上的 Redis OSS 7.0 发行说明。 GitHub

ElastiCache (Redis OSS) 版本 6.2(增强版)

ElastiCache (Redis OSS) 6.2 包括支持 TLS 的集群的性能改进,这些集群使用具有 8 个 vCPU 或更多 vCPU 的 x86 节点类型或具有 4 个 vCPU 或更多 Graviton2 节点类型。这些增强功能通过将加密操作转移到其他 vCPU 来提高吞吐量并缩短建立客户端连接所需的时间。在 Redis OSS 6.2 中,您还可以使用访问控制列表 (ACL) 规则管理对 Pub/Sub 频道的访问权限。

在此版本中,我们还推出支持在包含本地挂载 NVMe SSD 的集群节点上使用数据分层功能。有关更多信息,请参阅 数据分层

Redis OSS 引擎版本 6.2.6 还引入了对原生 JavaScript 对象表示法 (JSON) 格式的支持,这是一种在 Redis OSS 集群中对复杂数据集进行编码的简单、无架构的方法。借助 JSON 支持,您可以将性能和 Redis OSS API 用于通过 JSON 运行的应用程序。有关更多信息,请参阅 JSON 入门。还包括与 JSON 相关的指标,JsonBasedCmds以及JsonBasedCmdsLatency,这些指标被合并到中 CloudWatch 以监控此数据类型的使用情况。有关更多信息,请参阅 Redis OSS 的指标

您可以使用 6.2 来指定引擎版本。 ElastiCache (Redis OSS)将自动调用可用的 Redis OSS 6.2 的首选补丁版本。例如,您可在创建/修改缓存群集时将 --engine-version 参数设置为 6.2。集群将在创建/修改时使用当前可用的首选补丁版本 Redis OSS 6.2 启动。在 API 中指定引擎版本 6.x 将生成 Redis OSS 6 的最新次要版本。

对于现有的 6.0 集群,您可以在 CreateCacheClusterModifyCacheClusterCreateReplicationGroupModifyReplicationGroup API 中将 AutoMinorVersionUpgrade 参数设置为 yes,从而选择加入下一次自动次要版本升级。ElastiCache (Redis OSS) 将使用自助服务更新将现有 6.0 集群的次要版本升级到 6.2。有关更多信息,请参阅 Amazon 中的自助服务更新 ElastiCache

调用 DescribeCacheEngineVersions API 时,EngineVersion参数值将设置为 6.2,CacheEngineVersionDescription字段中将返回带有补丁版本的实际引擎版本。 

有关 Redis OSS 6.2 版本的更多信息,请参阅 Redis OSS 上的 Redis OSS 6.2 发行说明。 GitHub

ElastiCache (Redis OSS) 版本 6.0(增强版)

亚马逊 ElastiCache (Redis OSS)推出了下一版本的 Redis OSS 引擎,其中包括使用基于角色的访问控制对用户进行身份验证、客户端缓存和显著的操作改进。

从 Redis OSS 6.0 开始, ElastiCache (Redis OSS)将为每个 Redis OSS 次要版本提供一个版本,而不是提供多个补丁版本。 ElastiCache (Redis OSS) 将自动管理正在运行的缓存集群的补丁版本,从而确保提高性能和增强安全性。

您也可以通过将AutoMinorVersionUpgrade参数设置为来选择下一次自动次要版本升级, ElastiCache (Redis OSS) 将通过自助服务更新管理次要版本升级。yes有关更多信息,请参阅 中的服务更新 ElastiCache

您可以通过使用来指定引擎版本6.0。 ElastiCache (Redis OSS)将自动调用可用的 Redis OSS 6.0 的首选补丁版本。例如,您可在创建/修改缓存群集时将 --engine-version 参数设置为 6.0。集群将在创建/修改时使用当前可用的首选补丁版本 Redis OSS 6.0 启动。任何包含特定补丁版本值的请求都将被拒绝,同时引发异常且进程会失败。

调用 DescribeCacheEngineVersions API 时,EngineVersion参数值将设置为 6.0,CacheEngineVersionDescription字段中将返回带有补丁版本的实际引擎版本。 

有关 Redis OSS 6.0 版本的更多信息,请参阅 Redis OSS 上的 Redis OSS 6.0 发行说明。 GitHub

ElastiCache (Redis OSS) 版本 5.0.6(增强版)

亚马逊 ElastiCache (Redis OSS)推出了下一版本的 Redis OSS 引擎,其中包括错误修复和以下累积更新:

  • 特殊情况下的引擎稳定性保证。

  • 改进的 Hyperloglog 错误处理。

  • 增强的握手命令以进行可靠的复制。

  • 通过 XCLAIM 命令进行一致的消息交付跟踪。

  • 对象中改进的 LFU 字段管理。

  • 使用 ZPOP 时增强的事务管理。

  • 能够重命名命令:一个名为的参数rename-commands,允许您重命名可能导致意外数据丢失的潜在危险或昂贵的 Redis OSS 命令,例如FLUSHALLFLUSHDB。这类似于开源 Redis OSS 中的重命名命令配置。但是 ElastiCache,通过提供完全托管的工作流程改善了体验。命令名称更改将立即应用,并自动在集群中包含命令列表的所有节点上传播。您无需干预,例如重新启动节点。

    以下示例演示了如何修改现有参数组。它们包括 rename-commands 参数,该参数是要重命名的以空格分隔的命令列表:

    aws elasticache modify-cache-parameter-group --cache-parameter-group-name custom_param_group --parameter-name-values "ParameterName=rename-commands, ParameterValue='flushall restrictedflushall'" --region region

    在本示例中,rename-commands 参数用于将 flushall 命令重命名为 restrictedflushall

    要重命名多个命令,请使用以下操作:

    aws elasticache modify-cache-parameter-group --cache-parameter-group-name custom_param_group --parameter-name-values "ParameterName=rename-commands, ParameterValue='flushall restrictedflushall flushdb restrictedflushdb''" --region region

    要还原任何更改,请重新运行该命令并从要保留的 ParameterValue 列表中排除任何重命名的值,如下所示:

    aws elasticache modify-cache-parameter-group --cache-parameter-group-name custom_param_group --parameter-name-values "ParameterName=rename-commands, ParameterValue='flushall restrictedflushall'" --region region

    在本示例中,flushall 命令将重命名为 restrictedflushall,而任何其他重命名的命令将恢复为其原始命令名称。

    注意

    在重命名命令时,您将受到以下限制:

    • 所有重命名的命令都应该是字母数字。

    • 新命令名称的最大长度为 20 个字母数字字符。

    • 重命名命令时,请确保更新与集群关联的参数组。

    • 要完全阻止命令的使用,请使用关键字 blocked,如下所示:

      aws elasticache modify-cache-parameter-group --cache-parameter-group-name custom_param_group --parameter-name-values "ParameterName=rename-commands, ParameterValue='flushall blocked'" --region region

    有关参数更改以及有资格重命名的命令列表的更多信息,请参阅Redis OSS 5.0.3 参数发生了变化

  • Redis OSS Streams:它模拟了一种日志数据结构,允许生产者实时追加新项目。它还允许使用者以阻塞或非阻塞方式使用消息。Streams 还允许代表一组客户端的使用者组以合作方式使用同一消息流的不同部分,类似于 Apache Kafka。有关更多信息,请参阅 Redis OSS 直播简介

  • 支持一系列流命令,例如 XADDXRANGEXREAD。有关更多信息,请参阅 Redis OSS 流式传输命令

  • 大量新参数和重命名的参数。有关更多信息,请参阅 Redis OSS 5.0.0 参数发生了变化

  • 一个新的 Redis OSS 指标,StreamBasedCmds

  • Redis OSS 节点的快照时间稍快一些。

重要

ElastiCache (Redis OSS)已从R edis OSS开源版本5.0.1向后移植了两个严重的错误修复。下面列出了它们:

  • 在一些密钥过期后,RESTORE 将不匹配回复。

  • XCLAIM 命令可能会返回错误的条目或使协议不同步。

这两个错误修复都包含在 Redis OSS 引擎版本 5.0.0 的 ElastiCache (Redis OSS)支持中,并将在未来的版本更新中使用。

有关更多信息,请参阅 Redis OSS 上的 Redis OSS 5.0.6 发行说明。 GitHub

ElastiCache (Redis OSS) 版本 5.0.5(已弃用,使用版本 5.0.6)

亚马逊 ElastiCache (Redis OSS)推出了下一版本的 Redis OSS 引擎;。它包括在所有计划内操作期间对自动故障转移群集 ElastiCache (Redis OSS) 的在线配置更改。现在,您可以扩展集群、升级 Redis OSS 引擎版本以及应用补丁和维护更新,同时集群保持在线状态并继续处理传入的请求。它还包括错误修复。

有关更多信息,请参阅 Redis OSS 上的 Redis OSS 5.0.5 发行说明。 GitHub

ElastiCache (Redis OSS) 版本 5.0.4(已弃用,使用版本 5.0.6)

亚马逊 ElastiCache (Redis OSS)推出了亚马逊支持的下一版本的 Redis OSS 引擎。 ElastiCache其中包含以下增强功能:

  • 特殊情况下的引擎稳定性保证。

  • 改进的 Hyperloglog 错误处理。

  • 增强的握手命令以进行可靠的复制。

  • 通过 XCLAIM 命令进行一致的消息交付跟踪。

  • 对象中改进的 LFU 字段管理。

  • 使用 ZPOP 时增强的事务管理。

有关更多信息,请参阅 Redis OSS 上的 Redis OSS 5.0.4 发行说明。 GitHub

ElastiCache (Redis OSS) 版本 5.0.3(已弃用,使用版本 5.0.6)

亚马逊 ElastiCache (Redis OSS)推出了亚马逊支持的下一版本的Redis OSS引擎 ElastiCache,其中包括错误修复。

ElastiCache (Redis OSS) 版本 5.0.0(已弃用,使用版本 5.0.6)

亚马逊 ElastiCache (Redis OSS)推出了亚马逊支持的 Redis OSS 引擎的下一个主要版本。 ElastiCache ElastiCache (Redis OSS) 5.0.0 支持以下改进:

  • Redis OSS Streams:它模拟了一种日志数据结构,允许生产者实时追加新项目。它还允许使用者以阻塞或非阻塞方式使用消息。Streams 还允许代表一组客户端的使用者组以合作方式使用同一消息流的不同部分,类似于 Apache Kafka。有关更多信息,请参阅 Redis OSS 直播简介

  • 支持一系列流命令,例如 XADDXRANGEXREAD。有关更多信息,请参阅 Redis OSS 流式传输命令

  • 大量新参数和重命名的参数。有关更多信息,请参阅 Redis OSS 5.0.0 参数发生了变化

  • 一个新的 Redis OSS 指标,StreamBasedCmds

  • Redis OSS 节点的快照时间稍快一些。

ElastiCache (Redis OSS) 版本 4.0.10(增强版)

亚马逊 ElastiCache (Redis OSS)推出了亚马逊支持的 Redis OSS 引擎的下一个主要版本。 ElastiCache ElastiCache (Redis OSS) 4.0.10 提供了以下改进支持:

运行 Redis OSS 版本 3.2.10 的 Redis OSS(已禁用集群模式)用户可以使用控制台通过在线升级升级其集群。

比较 ElastiCache (Redis OSS) 集群大小调整和加密支持
版本
功能 3.2.6 3.2.10 4.0.10 及后续版本
在线集群大小调整*
传输中加密 **
静态加密**
* 添加、删除和重新平衡分片。
** 对于符合 FedRAMP、HIPAA 和 PCI DSS 标准的应用程序是必需的。有关更多信息,请参阅 Amazon 合规性验证 ElastiCache

已经终止生命期周期(EOL)版本(3.x)

ElastiCache (Redis OSS) 3.2.10 版(增强版)

亚马逊 ElastiCache (Redis OSS)推出了亚马逊支持的 Redis OSS 引擎的下一个主要版本。 ElastiCacheElastiCache (Redis OSS) 3.2.10 引入了在线集群大小调整功能,以便在集群继续处理传入的 I/O 请求的同时向集群添加或删除分片。 ElastiCache (Redis OSS) 3.2.10 用户拥有早期 Redis OSS 版本的所有功能,但可以加密数据。此功能目前仅在版本 3.2.6 中可用。

比较 ElastiCache (Redis OSS)版本 3.2.6 和 3.2.10
版本
功能 3.2.6 3.2.10
在线集群大小调整*
传输中加密 ** 不支持
静态加密** 不支持
* 添加、删除和重新平衡分片。
** 对于符合 FedRAMP、HIPAA 和 PCI DSS 标准的应用程序是必需的。有关更多信息,请参阅 Amazon 合规性验证 ElastiCache

有关更多信息,请参阅下列内容:

ElastiCache (Redis OSS) 3.2.6 版(增强版)

亚马逊 ElastiCache (Redis OSS)推出了亚马逊支持的 Redis OSS 引擎的下一个主要版本。 ElastiCacheElastiCache (Redis OSS) 3.2.6 用户拥有早期 Redis OSS 版本的所有功能,还可以选择加密数据。有关更多信息,请参阅下列内容:

ElastiCache (Redis OSS) 3.2.4 版(增强版)

亚马逊 ElastiCache (Redis OSS)版本3.2.4引入了亚马逊支持的Redis OSS引擎的下一个主要版本。 ElastiCacheElastiCache (Redis OSS) 3.2.4 用户可以使用早期 Redis OSS 版本的所有功能,还可以选择在集群模式或非集群模式下运行。下表进行了汇总。

比较 Redis OSS 3.2.4 非集群模式和集群模式
功能 非集群模式 集群模式
数据分区
地理空间索引
更改节点类型 是*
副本扩展 是*
扩展 是*
数据库支持 多个 单列排序

参数组

default.redis3.2 **

default.redis3.2.cluster.on **

*请参阅 从备份还原到新缓存

**或从其派生的某个参数组。

注意:
  • 分区 – 将数据拆分到 2 到 500 个节点组(分片),为每个节点组提供复制支持的能力。

  • 地理空间索引 — Redis OSS 3.2.4 通过六个 GEO 命令引入了对地理空间索引的支持。有关更多信息,请参阅 Redis OSS 命令页面(已过滤 GEO)上的 Redis OSS GEO* 命令文档 Redis OSS 命令:GEO。

有关 Redis OSS 3 其他功能的信息,请参阅 Redis OSS 3.2 发行说明和 Redis OSS 3.0 发行说明

当前 ElastiCache 托管的 Redis OSS(已启用集群模式)不支持以下 Redis OSS 3.2 功能:

  • 副本迁移

  • 集群重新平衡

  • Lua 调试程序

ElastiCache 禁用以下 Redis OSS 3.2 管理命令:

  • cluster meet

  • cluster replicate

  • cluster flushslots

  • cluster addslots

  • cluster delslots

  • cluster setslot

  • cluster saveconfig

  • cluster forget

  • cluster failover

  • cluster bumpepoch

  • cluster set-config-epoch

  • cluster reset

有关 Redis OSS 3.2.4 参数的信息,请参阅。Redis OSS 3.2.4 参数发生了变化

已经终止生命期周期(EOL)版本(2.x)

ElastiCache (Redis OSS) 版本 2.8.24(增强版)

自 2.8.23 版本以来增加的 Redis OSS 改进包括错误修复和记录错误的内存访问地址。有关更多信息,请参阅 Redis OSS 2.8 版本说明

ElastiCache (Redis OSS) 版本 2.8.23(增强版)

自 2.8.22 版本以来添加的 Redis OSS 改进包括错误修复。有关更多信息,请参阅 Redis OSS 2.8 版本说明。此版本还包括对新参数 close-on-slave-write 的支持;如果启用该参数,尝试写入只读副本的客户端将会断开连接。

有关 Redis OSS 2.8.23 参数的更多信息,请参阅用户指南Redis OSS 2.8.23(增强版)新增参数中的。 ElastiCache

ElastiCache (Redis OSS) 版本 2.8.22(增强版)

自 2.8.21 版本以来新增的 Redis OSS 改进包括以下内容:

  • 支持无分支备份和同步,使您能够为备份开销分配更少内存并为应用程序分配更多内存。有关更多信息,请参阅 如何实施同步和备份。此无分支过程会影响延迟和吞吐量。当存在高写入吞吐量时,如果副本重新同步,则在整个同步过程中将无法访问副本。

  • 如果存在故障转移,由于副本将尽可能执行与主集群的部分同步而不是执行完整同步,因此复制组现在能够更快地恢复。此外,主集群和副本在同步期间不再使用磁盘,并将进一步加快速度。

  • Support 支持两个新 CloudWatch 指标。

    • ReplicationBytes – 复制组的主集群发送到只读副本的字节数。

    • SaveInProgress – 一个指示是否有后台保存进程正在运行的二进制值。

    有关更多信息,请参阅 使用 CloudWatch 指标监控使用情况

  • 修复了复制 PSYNC 行为中的许多关键 Bug。有关更多信息,请参阅 Redis OSS 2.8 版本说明

  • 为了在多可用区复制组中保持增强的复制性能并提高集群稳定性,不再支持非ElastiCache 副本。

  • 为了提高主集群与复制组中的副本之间的数据一致性,该副本不再移出独立于主集群的密钥。

  • Redis OSS 配置变量appendonlyappendfsyncRedis OSS 版本 2.8.22 及更高版本不支持。

  • 在内存不足的情况下,具有较大的输出缓冲区的客户端可能会与副本集群断开。如果已断开连接,则客户端需要重新连接。此类情况最有可能在 PUBSUB 客户端上出现。

ElastiCache (Redis OSS) 版本 2.8.21

自 2.8.19 版本以来添加的 Redis OSS 改进包括许多错误修复。有关更多信息,请参阅 Redis OSS 2.8 版本说明

ElastiCache (Redis OSS) 版本 2.8.19

自 2.8.6 版本以来新增的 Redis OSS 改进包括以下内容:

  • Support fo HyperLogLog r. 有关更多信息,请参阅 Redis OSS 新数据结构:HyperLogLog

  • 现在,经过排序的集数据类型通过新命令 ZRANGEBYLEXZLEXCOUNTZREMRANGEBYLEX 支持字典顺序范围查询。

  • 为了防止主节点向副本节点发送陈旧数据,如果后台保存 (bgsave) 子进程中止,则主同步会失败。

  • HyperLogLogBasedCommands CloudWatch指标的 Support。有关更多信息,请参阅 Redis OSS 的指标

ElastiCache (Redis OSS) 版本 2.8.6

自 2.6.13 版本以来新增的 Redis OSS 改进包括以下内容:

  • 提高了只读副本的弹性和容错性能。

  • 支持部分重新同步。

  • 支持必须始终可用的只读副本的用户定义最小数目。

  • 完全支持发布/订阅 – 就服务器上发生的事件通知客户端。

  • 自动检测主节点故障并将主节点故障转移至辅助节点。

ElastiCache (Redis OSS) 版本 2.6.13

Redis OSS 版本 2.6.13 是亚马逊支持的 Redis OSS ElastiCache (Redis OSS)的初始版本。Redis OSS 2.6.13 不支持多可用区。