

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

# 引擎版本和升级中 ElastiCache
<a name="engine-versions"></a>

本节介绍了受支持的 Valkey、Memcached 和 Redis OSS 引擎以及如何升级。请注意，Redis OSS 7.2 提供的所有功能在 Valkey 7.2 及更高版本中默认可用。你也可以从现有 ElastiCache 的 Redis OSS 引擎升级到 Valkey 引擎。

## ElastiCache 适用于 Valkey 的 8.2 版
<a name="valkey-version-8.2.main"></a>

以下是 Valkey 8.2 中引入的一些新功能（与 Valke ElastiCache y 8.1 相比）：
+ 对[向量搜索](vector-search.md)的原生支持，使您能够以低至微秒级延迟在内存中存储、索引、搜索和更新数十亿个高维向量嵌入。

有关 Valkey 的更多信息，请参阅 [Valkey](https://valkey.io/)。

有关引入了向量搜索的 Valkey 8.2 版本的更多信息，请参阅 [Valkey Search](https://github.com/valkey-io/valkey-search)。

## ElastiCache 适用于 Valkey 的 8.1 版
<a name="valkey-version-8.1.main"></a>

以下是 Valkey 8.1 中引入的一些新功能（与 Valke ElastiCache y 8.0 相比）：
+ 一种[新的哈希表](https://valkey.io/blog/new-hash-table/)实现，可减少内存开销，将常见 key/value 模式的内存使用量降低多达20％。
+ 对 [Bloom 筛选条件](https://valkey.io/topics/bloomfilters/)的原生支持，这是一种新的数据类型，与使用 Set 数据类型相比，允许您使用多达 98% 的内存执行查找。
+ 新命令 [COMMANDLOG](https://valkey.io/commands/commandlog-get/)，用于记录执行缓慢情况、大型请求及大型回复。
+ 新增对 SET 命令的条件更新支持（使用 IFEQ 参数）。
+ 性能改进，包括 ZRANK 命令的延迟降低多达 45%，PFMERGE 和 PFCOUNT 的性能提高多达 12 倍，BITCOUNT 的吞吐量提高多达 514%。

有关 Valkey 的更多信息，请参阅 [Valkey](https://valkey.io/)

有关 Valkey 8.1 版本的更多信息，请参阅 [Valkey 8.1 Release Notes](https://github.com/valkey-io/valkey/blob/8.1/00-RELEASENOTES)

## ElastiCache 适用于 Valkey 的 8.0 版
<a name="valkey-version-8.main"></a>

以下是 Valkey 8.0 中引入的一些新功能（与 Valkey 7.2.6 相比）： ElastiCache 
+ 内存效率提高，允许用户在不进行任何应用程序更改的情况下在每个节点上存储多达 20% 的数据。
+ 针对基于节点的集群新推出的每插槽指标基础设施，可供详细了解各个插槽的性能和资源使用情况。
+ ElastiCache 适用于 Valkey 8.0 的无服务器可以每 2-3 分钟将支持的每秒请求数 (RPS) 翻一番，在不到 13 分钟的时间内从零达到每个缓存 500 万 RPS，读取延迟始终保持亚毫秒 p50。

有关 Valkey 的更多信息，请参阅 [Valkey](https://valkey.io/)

有关 Valkey 8 版本的更多信息，请参阅 [Valkey 8 Release Notes](https://github.com/valkey-io/valkey/blob/8.0/00-RELEASENOTES)

## ElastiCache 适用于 Valkey 的 7.2.6 版
<a name="valkey-version-7.2.6.main"></a>

2024 年 10 月 10 日，Valkey ElastiCache 的 7.2.6 版本发布。以下是 7.2 中引入的一些新功能（与 Redis OSS 的 7.1 ElastiCache 版本相比）：
+ 各种数据类型的性能和内存优化：列表和集合类型键的内存优化、排序集命令的速度优化、集群模式下具有多个键的命令的性能优化、 pub/sub 性能改进、SCAN、HSCAN、ZSCAN 命令的性能优化以及许多其他较小的优化。
+ ZRANK 和 ZREVRANK 命令有新的 WITHSCORE 选项
+ CLIENT NO-TOUCH 允许客户端在不影响按键的情况下运行命令 LRU/LFU 。
+ 新命令 CLUSTER MYSHARDID 返回节点的分片 ID，以便根据复制在集群模式下对节点进行逻辑分组。

有关 Valkey 的更多信息，请参阅 [Valkey](https://valkey.io/)

有关 Valkey ElastiCache 版本 7.2 的更多信息，请参阅 [Redis OSS 7.2.4 发行说明（Valkey 的](https://github.com/valkey-io/valkey/blob/d2c8a4b91e8c0e6aefd1f5bc0bf582cddbe046b7/00-RELEASENOTES) 7.2 ElastiCache 版本包括从 Redis OSS 的 7.1 ElastiCache 版到 Redis OSS 的 7.2.4 ElastiCache 版的所有更改）。[Valkey 上的 Valkey 7.2 发行说明](https://github.com/valkey-io/valkey/blob/7.2/00-RELEASENOTES) GitHub

## 支持的 Redis OSS 引擎版本
<a name="supported-engine-versions.redis"></a>

ElastiCache 无服务器缓存和基于节点的集群支持所有 Redis OSS 7.1 及更低版本。
+ [ElastiCache 适用于 Redis OSS 的 7.1 版（增强版）](#redis-version-7.1)

**Topics**
+ [ElastiCache 适用于 Redis OSS 的 7.1 版（增强版）](#redis-version-7.1)
+ [ElastiCache 适用于 Redis OSS 的 7.0 版（增强版）](#redis-version-7.0)
+ [ElastiCache 适用于 Redis OSS 的 6.2 版（增强版）](#redis-version-6.2)
+ [ElastiCache 适用于 Redis OSS 的 6.0 版（增强版）](#redis-version-6.0)
+ [ElastiCache 适用于 Redis OSS 的 5.0.6 版（增强版）](#redis-version-5-0.6)
+ [ElastiCache 适用于 Redis OSS 的 5.0.5 版（已弃用，使用版本 5.0.6）](#redis-version-5-0.5)
+ [ElastiCache 适用于 Redis OSS 的 5.0.4 版（已弃用，使用版本 5.0.6）](#redis-version-5-0.4)
+ [ElastiCache 适用于 Redis OSS 的 5.0.3 版（已弃用，使用版本 5.0.6）](#redis-version-5-0.3)
+ [ElastiCache 适用于 Redis OSS 的 5.0.0 版（已弃用，使用版本 5.0.6）](#redis-version-5-0)
+ [ElastiCache 适用于 Redis OSS 的 4.0.10 版（增强版）](#redis-version-4-0-10)
+ [已经终止生命期周期（EOL）版本（3.x）](#redis-version-3-2-10-scheduled-eol)
+ [已经终止生命期周期（EOL）版本（2.x）](#redis-version-2-x-eol)

### ElastiCache 适用于 Redis OSS 的 7.1 版（增强版）
<a name="redis-version-7.1"></a>

此版本包含性能改进，使工作负载能够推动更高的吞吐量和更低的操作延迟。 ElastiCache 适用于 Redis OSS 的 7.1 版本引入了[两个主要的增强功能](https://aws.amazon.com/blogs/database/achieve-over-500-million-requests-per-second-per-cluster-with-amazon-elasticache-for-redis-7-1/)：

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

**注意**  
ElastiCache v7.1 与 Redis OSS v7.0 兼容。

### ElastiCache 适用于 Redis OSS 的 7.0 版（增强版）
<a name="redis-version-7.0"></a>

ElastiCache 适用于 Redis 的 OSS 7.0 增加了许多改进和对新功能的支持：
+ [功能](https://valkey.io/topics/functions-intro/)：适用 ElastiCache 于 Redis 的 OSS 7 增加了对 Redis OSS 函数的支持，并提供了托管体验，使开发人员能够使用存储在 ElastiCache集群中的应用程序逻辑执行 [LUA 脚本](https://valkey.io/topics/eval-intro/)，而无需客户端在每次连接时都将脚本重新发送到服务器。
+ [ACL 改进](https://valkey.io/topics/acl/)：Valkey 和 Redis OSS 7 增加了对下一版本访问控制列表 () ACLs 的支持。客户端现在可以为 Valkey 和 Redis OSS 中的特定键或键空间指定多组权限。
+ [Sharded Pub/Sub](https://valkey.io/topics/pubsub/)： ElastiCache 适用于 Valkey 和 Redis 的 OSS 7 增加了对运行Pub/Sub functionality in a sharded way when running ElastiCache in Cluster Mode Enabled (CME). Pub/Sub的支持，使发布者能够向频道上的任意数量的订阅者发布消息。通道绑定到 ElastiCache 集群中的分片，无需在分片之间传播通道信息，从而提高了可扩展性。
+ 增强的 I/O 多路复用： ElastiCache 对于 Valkey 和 Redis，OSS 7 引入了增强的 I/O 多路复用，可为具有许多并行客户端连接到集群的高吞吐量工作负载提供更高的吞吐量和更短的延迟。 ElastiCache 例如，与 Redis OSS 的版本 6 相比，使用由 r6g.xlarge 节点组成的集群并运行 5200 个并发客户端时，吞吐量（每秒读取和写入操作数）最多可提高 72%，P99 延迟最多可减少 71%。 ElastiCache 

有关 Valkey 的更多信息，请参阅 [Valkey](https://valkey.io/)。有关 Redis OSS 7.0 版本的更多信息，请参阅 Redis OSS 上[的 Redis OSS 7.0 发行说明](https://github.com/redis/redis/blob/7.0/00-RELEASENOTES)。 GitHub

### ElastiCache 适用于 Redis OSS 的 6.2 版（增强版）
<a name="redis-version-6.2"></a>

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

 在此版本中，我们还引入了对包含本地连接的 NVMe SSD 的群集节点上的数据分层支持。有关更多信息，请参阅 [ElastiCache 中的数据分层](data-tiering.md)。

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

您可以使用 6.2 来指定引擎版本。 ElastiCache 将自动调用可用的 Redis OSS 6.2 的首选补丁版本。例如，您可在创建/修改集群时将 `--engine-version` 参数设置为 6.2。集群将使用当前可用的首选补丁版本 Redis OSS 6.2 启动。 creation/modification 如果您在 API 中指定引擎版本 6.x，系统将会使用 Redis OSS 6 的最新次要版本。

对于现有 6.0 集群，您可以通过在、或中将`AutoMinorVersionUpgrade`参数设置为，选择加入下一次 auto `yes` 次要版本升级。`CreateCacheCluster` `ModifyCacheCluster` `CreateReplicationGroup` `ModifyReplicationGroup` APIs ElastiCache 将使用自助服务更新将现有 6.0 集群的次要版本升级到 6.2。有关更多信息，请参阅 [Amazon 中的自助服务更新 ElastiCache](Self-Service-Updates.md)。

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

有关 Redis OSS 6.2 版本的更多信息，请参阅 [Redis OSS 上的 Redis OSS 6.2 发行说明](https://github.com/redis/redis/blob/6.2/00-RELEASENOTES)。 GitHub

### ElastiCache 适用于 Redis OSS 的 6.0 版（增强版）
<a name="redis-version-6.0"></a>

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

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

您还可以通过将`AutoMinorVersionUpgrade`参数设置为来选择下一次 auto 次要版本升级，`yes` ElastiCache并将通过自助服务更新来管理次要版本升级。有关更多信息，请参阅 [中的服务更新 ElastiCache](Self-Service-Updates.md)。

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

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

有关 Redis OSS 6.0 版本的更多信息，请参阅 Redis OSS 上[的 Redis OSS 6.0 发行说明](https://github.com/redis/redis/blob/6.0/00-RELEASENOTES)。 GitHub

### ElastiCache 适用于 Redis OSS 的 5.0.6 版（增强版）
<a name="redis-version-5-0.6"></a>

Amazon ElastiCache 推出了 Redis OSS 引擎的下一个版本，其中包括错误修复和以下累积更新： ElastiCache 
+ 特殊情况下的引擎稳定性保证。
+ 改进的 Hyperloglog 错误处理。
+ 增强的握手命令以进行可靠的复制。
+ 通过 `XCLAIM` 命令进行一致的消息交付跟踪。
+ 对象中改进的 `LFU `字段管理。
+ 使用 `ZPOP` 时增强的事务管理。
+ 能够重命名命令：一个名为 `rename-commands` 的参数，让您可以重命名可能导致意外数据丢失的潜在危险或成本高昂的 Redis OSS 命令，例如 `FLUSHALL` 或 `FLUSHDB`。这与开源 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 参数更改](ParameterGroups.Engine.md#ParameterGroups.Redis.5-0-3)。
+ Redis OSS Streams：这模拟日志数据结构，允许创建者实时追加新项目。它还允许使用者以阻塞或非阻塞方式使用消息。Streams 还允许代表一组客户端的使用者组以合作方式使用同一消息流的不同部分，类似于 [Apache Kafka](https://kafka.apache.org/documentation/)。有关更多信息，请参阅[流](https://valkey.io/topics/streams-intro)。
+ 支持一系列流命令，例如 `XADD`、`XRANGE` 和 `XREAD`。有关更多信息，请参阅[流命令](https://valkey.io/commands/#stream)。
+ 大量新参数和重命名的参数。有关更多信息，请参阅 [Redis OSS 5.0.0 参数更改](ParameterGroups.Engine.md#ParameterGroups.Redis.5.0)。
+ 一个新的 Redis OSS 指标 `StreamBasedCmds`。
+ Redis OSS 节点的快照时间略快一些。

**重要**  
ElastiCache 已从 [Redis OSS 开源版本](https://github.com/redis/redis/blob/5.0/00-RELEASENOTES) 5.0.1 向后移植了两个严重的错误修复。下面列出了它们：  
在一些密钥过期后，RESTORE 将不匹配回复。
`XCLAIM` 命令可能会返回错误的条目或使协议不同步。
这两个错误修复都包含在 ElastiCache 对 Redis OSS 引擎版本 5.0.0 的 Redis OSS 支持中，并将在未来的版本更新中使用。

有关更多信息，请参阅 [Redis OSS 上的 Redis OSS 5.0.6 发行说明](https://github.com/redis/redis/blob/5.0/00-RELEASENOTES)。 GitHub

### ElastiCache 适用于 Redis OSS 的 5.0.5 版（已弃用，使用版本 5.0.6）
<a name="redis-version-5-0.5"></a>

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

有关更多信息，请参阅 [Redis OSS 上的 Redis OSS 5.0.5 发行说明](https://github.com/redis/redis/blob/5.0/00-RELEASENOTES)。 GitHub

### ElastiCache 适用于 Redis OSS 的 5.0.4 版（已弃用，使用版本 5.0.6）
<a name="redis-version-5-0.4"></a>

亚马逊 ElastiCache 推出了支持的 Redis OSS 引擎的下一个版本。 ElastiCache其中包含以下增强功能：
+ 特殊情况下的引擎稳定性保证。
+ 改进的 Hyperloglog 错误处理。
+ 增强的握手命令以进行可靠的复制。
+ 通过 `XCLAIM` 命令进行一致的消息交付跟踪。
+ 对象中改进的 `LFU `字段管理。
+ 使用 `ZPOP` 时增强的事务管理。

有关更多信息，请参阅 [Redis OSS 上的 Redis OSS 5.0.4 发行说明](https://github.com/redis/redis/blob/5.0/00-RELEASENOTES)。 GitHub

### ElastiCache 适用于 Redis OSS 的 5.0.3 版（已弃用，使用版本 5.0.6）
<a name="redis-version-5-0.3"></a>

亚马逊 ElastiCache 推出了 ElastiCache 适用于Redis OSS引擎的下一个版本，其中包括错误修复。

### ElastiCache 适用于 Redis OSS 的 5.0.0 版（已弃用，使用版本 5.0.6）
<a name="redis-version-5-0"></a>

亚马逊 ElastiCache 推出了 Redis OSS 引擎 ElastiCache 的下一个主要版本。 ElastiCache 适用于 Redis OSS 的 5.0.0 版本支持以下改进：
+ Redis OSS Streams：这模拟日志数据结构，允许创建者实时追加新项目。它还允许使用者以阻塞或非阻塞方式使用消息。Streams 还允许代表一组客户端的使用者组以合作方式使用同一消息流的不同部分，类似于 [Apache Kafka](https://kafka.apache.org/documentation/)。有关更多信息，请参阅[流](https://valkey.io/topics/streams-intro)。
+ 支持一系列流命令，例如 `XADD`、`XRANGE` 和 `XREAD`。有关更多信息，请参阅[流命令](https://valkey.io/commands/#stream)。
+ 大量新参数和重命名的参数。有关更多信息，请参阅 [Redis OSS 5.0.0 参数更改](ParameterGroups.Engine.md#ParameterGroups.Redis.5.0)。
+ 一个新的 Redis OSS 指标 `StreamBasedCmds`。
+ Redis OSS 节点的快照时间略快一些。

### ElastiCache 适用于 Redis OSS 的 4.0.10 版（增强版）
<a name="redis-version-4-0-10"></a>

亚马逊 ElastiCache 推出了 Redis OSS 引擎 ElastiCache 的下一个主要版本。 ElastiCache 适用于 Redis OSS 的 4.0.10 版本支持以下改进：
+ 在线集群大小调整和加密都集中在一个 ElastiCache 版本中。有关更多信息，请参阅下列内容：
  + [扩缩 Valkey 或 Redis OSS（已启用集群模式）集群](scaling-redis-cluster-mode-enabled.md)
  + [Valkey 或 Redis OSS（已启用集群模式）的离线重新分片](scaling-redis-cluster-mode-enabled.md#redis-cluster-resharding-online)
  + [Amazon ElastiCache 中的数据安全性](encryption.md)
+ 许多新参数。有关更多信息，请参阅 [Redis OSS 4.0.10 参数更改](ParameterGroups.Engine.md#ParameterGroups.Redis.4-0-10)。
+ 支持内存命令系列，如 `MEMORY`。有关更多信息，请参阅[命令](https://valkey.io/commands)（在 MEMO 上搜索）。
+ 支持在线内存碎片整理，从而可实现更高效的内存使用率并可为您的数据提供更多内存。
+ Support 支持异步刷新和删除。 ElastiCache for Redis OSS 支持诸如`FLUSHDB`和之类的命令`UNLINK`，`FLUSHALL`以便在与主线程不同的线程中运行。这样做可以异步释放内存，从而有助于提高应用程序的性能和响应速度。
+ 一个新的 Redis OSS 指标 `ActiveDefragHits`。有关更多信息，请参阅 [Redis OSS 的指标](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CacheMetrics.Redis.html)。

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


**比较 ElastiCache 集群大小调整和加密支持**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/AmazonElastiCache/latest/dg/engine-versions.html)

### 已经终止生命期周期（EOL）版本（3.x）
<a name="redis-version-3-2-10-scheduled-eol"></a>

#### ElastiCache 适用于 Redis OSS 的 3.2.10 版（增强版）
<a name="redis-version-3-2-10"></a>

亚马逊 ElastiCache 推出了 Redis OSS 引擎 ElastiCache 的下一个主要版本。 ElastiCache 适用于 Redis OSS 的 3.2.10 版（增强）引入了在线集群大小调整功能，以便在集群继续处理传入请求的同时向集群添加或删除分片。 I/O ElastiCache 对于 Redis OSS 3.2.10，用户除了能够加密数据外，还拥有早期 Redis OSS 版本的所有功能。此功能目前仅在版本 3.2.6 中可用。


**比较 R ElastiCache edis OSS 的 3.2.6 和 3.2.10 版本**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/AmazonElastiCache/latest/dg/engine-versions.html)

有关更多信息，请参阅下列内容：
+ [Valkey 或 Redis OSS（已启用集群模式）的离线重新分片](scaling-redis-cluster-mode-enabled.md#redis-cluster-resharding-online)
+ [在线集群大小调整](best-practices-online-resharding.md)

#### ElastiCache 适用于 Redis OSS 的 3.2.6 版（增强版）
<a name="redis-version-3-2-6"></a>

亚马逊 ElastiCache 推出了 Redis OSS 引擎 ElastiCache 的下一个主要版本。 ElastiCache 适用于 Redis OSS 的 3.2.6 版用户可以访问早期 Redis OSS 版本的所有功能，还可以选择加密其数据。有关更多信息，请参阅下列内容：
+ [ElastiCache 传输中加密 (TLS)](in-transit-encryption.md)
+ [静态加密 ElastiCache](at-rest-encryption.md)
+ [Amazon 合规性验证 ElastiCache](elasticache-compliance.md)

#### ElastiCache 适用于 Redis OSS 的 3.2.4 版（增强版）
<a name="redis-version-3-2-4"></a>

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


**Redis OSS 3.2.4 非集群模式与集群模式对比**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/AmazonElastiCache/latest/dg/engine-versions.html)

**备注：**
+ **分区** – 将数据拆分到 2 到 500 个节点组（分片），为每个节点组提供复制支持的能力。
+ **地理空间索引** – Redis OSS 3.2.4 推出了对通过 6 条 GEO 命令执行地理空间索引的支持。有关更多信息，请参阅“Valkey 命令”页面（针对 GEO 进行筛选）上的 Redis OSS GEO\$1 命令文档[命令：GEO](http://valkey.io/commands#geo)。

有关其他的 Redis OSS 3 功能的信息，请参阅 [Redis OSS 3.2 发布说明](https://github.com/redis/redis/blob/3.2/00-RELEASENOTES)和 [Redis OSS 3.0 发布说明](https://github.com/redis/redis/blob/3.0/00-RELEASENOTES)。

当前 ElastiCache 托管的 Valkey 或 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 参数更改](ParameterGroups.Engine.md#ParameterGroups.Redis.3-2-4)。

### 已经终止生命期周期（EOL）版本（2.x）
<a name="redis-version-2-x-eol"></a>

#### ElastiCache 适用于 Redis OSS 的 2.8.24 版（增强版）
<a name="redis-version-2-8-24"></a>

自版本 2.8.23 起增加的 Redis OSS 改进功能包括错误修复和针对错误内存访问地址的记录功能。有关更多信息，请参阅 [Redis OSS 2.8 发布说明](https://github.com/redis/redis/blob/2.8/00-RELEASENOTES)。

#### ElastiCache 适用于 Redis OSS 的 2.8.23 版（增强版）
<a name="redis-version-2-8-23"></a>

自版本 2.8.22 起增加的 Redis OSS 改进功能包括错误修复。有关更多信息，请参阅 [Redis OSS 2.8 发布说明](https://github.com/redis/redis/blob/2.8/00-RELEASENOTES)。此版本还包括对新参数 `close-on-slave-write` 的支持；如果启用该参数，尝试写入只读副本的客户端将会断开连接。

有关 Redis OSS 2.8.23 参数的更多信息，请参阅用户指南[Redis OSS 2.8.23（加强版）增加的参数](ParameterGroups.Engine.md#ParameterGroups.Redis.2-8-23)中的。 ElastiCache 

#### ElastiCache 适用于 Redis OSS 的 2.8.22 版（增强版）
<a name="redis-version-2-8-22"></a>

自版本 2.8.21 起增加的 Redis OSS 改进功能包括：
+ 支持无分支备份和同步，使您能够为备份开销分配更少内存并为应用程序分配更多内存。有关更多信息，请参阅 [如何实施同步和备份](Replication.Redis.Versions.md)。此无分支过程会影响延迟和吞吐量。当存在高写入吞吐量时，如果副本重新同步，则在整个同步过程中将无法访问副本。
+ 如果存在故障转移，由于副本将尽可能执行与主集群的部分同步而不是执行完整同步，因此复制组现在能够更快地恢复。此外，主集群和副本在同步期间不再使用磁盘，并将进一步加快速度。
+ Support 支持两个新 CloudWatch 指标。
  + `ReplicationBytes` – 复制组的主集群发送到只读副本的字节数。
  + `SaveInProgress` – 一个指示是否有后台保存进程正在运行的二进制值。

   有关更多信息，请参阅 [使用 CloudWatch 指标监控使用情况](CacheMetrics.md)。
+ 修复了复制 PSYNC 行为中的许多关键 Bug。有关更多信息，请参阅 [Redis OSS 2.8 发布说明](https://github.com/redis/redis/blob/2.8/00-RELEASENOTES)。
+ 为了在多可用区复制组中保持增强的复制性能并提高集群稳定性，不再支持非ElastiCache 副本。
+ 为了提高主集群与复制组中的副本之间的数据一致性，该副本不再移出独立于主集群的密钥。
+ Redis OSS 版本 2.8.22 及更高版本不支持 Redis OSS 配置变量 `appendonly` 和 `appendfsync`。
+ 在内存不足的情况下，具有较大的输出缓冲区的客户端可能会与副本集群断开。如果已断开连接，则客户端需要重新连接。此类情况最有可能在 PUBSUB 客户端上出现。

#### ElastiCache 适用于 Redis OSS 的 2.8.21 版
<a name="redis-version-2-8-21"></a>

自版本 2.8.19 起增加的 Redis OSS 改进功能包括大量错误修复。有关更多信息，请参阅 [Redis OSS 2.8 发布说明](https://github.com/redis/redis/blob/2.8/00-RELEASENOTES)。

#### ElastiCache 适用于 Redis OSS 的 2.8.19 版本
<a name="redis-version-2-8-19"></a>

自版本 2.8.6 起增加的 Redis OSS 改进功能包括：
+ Support fo HyperLogLog r. 有关更多信息，请参阅 [Redis OSS 新数据结构：HyperLogLog](http://antirez.com/news/75)。
+ 现在，经过排序的集数据类型通过新命令 `ZRANGEBYLEX`、`ZLEXCOUNT` 和 `ZREMRANGEBYLEX` 支持字典顺序范围查询。
+ 为了防止主节点向副本节点发送陈旧数据，如果后台保存 (`bgsave`) 子进程中止，则主同步会失败。
+ 对*HyperLogLogBasedCommands* CloudWatch指标的 Support。有关更多信息，请参阅 [Valkey 和 Redis OSS 的指标](CacheMetrics.Redis.md)。

#### ElastiCache 适用于 Redis OSS 的 2.8.6 版本
<a name="redis-version-2-8-6"></a>

自版本 2.6.13 起增加的 Redis OSS 改进功能包括：
+ 提高了只读副本的弹性和容错性能。
+ 支持部分重新同步。
+ 支持必须始终可用的只读副本的用户定义最小数目。
+ 完全支持发布/订阅 – 就服务器上发生的事件通知客户端。
+ 自动检测主节点故障并将主节点故障转移至辅助节点。

#### ElastiCache 适用于 Redis OSS 的 2.6.13 版本
<a name="redis-version-2-6-13"></a>

ElastiCache Redis OSS 的 2.6.13 版本是支持 Redis OSS ElastiCache 的初始版本。Redis OSS ElastiCache 版本 2.6.13 不支持多可用区。

## ElastiCache 适用于 Redis OSS 的版本生命周期终止时间表
<a name="deprecated-engine-versions"></a>

本部分定义了较早的主要版本在宣布时的生命周期终止（EOL）日期。这样有助于您为将来做出版本和升级决策。

**注意**  
ElastiCache 不推荐使用 Redis OSS 的 5.0.0 到 5.0.5 版本。使用版本 5.0.6 或更高版本。

下表显示了 Redis OSS 引擎 ElastiCache 的[扩展支持](extended-support.md)时间表。

**扩展支持和生命周期终止时间表**


| 主要引擎版本 | 标准支持终止日期 | 扩展支持开始日期（第 1 年 Premium） | 扩展支持开始日期（第 2 年 Premium） | 扩展支持开始日期（第 3 年 Premium） | 扩展支持终止日期和版本 EOL | 
| --- | --- | --- | --- | --- | --- | 
| Redis OSS v4 | 1/31/2026 | 2026 年 1 月 2 日 | 2027 年 1 月 2 日 | 2028 年 1 月 2 日 | 1/31/2029 | 
| Redis OSS v5 | 1/31/2026 | 2026 年 1 月 2 日 | 2027 年 1 月 2 日 | 2028 年 1 月 2 日 | 1/31/2029 | 
| Redis OSS v6 | 1/31/2027 | 2027 年 1 月 2 日 | 2028 年 1 月 2 日 | 2029 年 1 月 2 日 | 1/31/2030 | 

下表汇总了每个版本及其宣布的生命周期终止日期，以及推荐的升级目标版本。

**已经终止生命周期**


| 源主要版本 | 源次要版本 | 建议升级目标 | 生命周期终止日期 | 
| --- | --- | --- | --- | 
|  版本 3 |  3.2.4、3.2.6 和 3.2.10  |  v6.2 或更高版本  对于 US-ISO-EAST -1、 US-ISO-WEST -1 和 US-ISOB-EAST -1 区域，我们建议使用 5.0.6 或更高版本。   |  2023 年 7 月 31 日  | 
|  版本 2  |  2.8.24、2.8.23、2.8.22、2.8.21、2.8.19、2.8.12、2.8.6、2.6.13  |  v6.2 或更高版本  对于 US-ISO-EAST -1、 US-ISO-WEST -1 和 US-ISOB-EAST -1 区域，我们建议使用 5.0.6 或更高版本。   |  2023 年 1 月 13 日  | 

## 支持 Mem ElastiCache cached 版本
<a name="supported-engine-versions-mc"></a>

ElastiCache 支持以下 Memcached 版本和升级到更新的版本。如果升级到更新的版本，请关注那些会导致升级失败的先决条件。

**Topics**
+ [ElastiCache 适用于 Memcached 的 1.6.22 版](#memcached-version-1-6-22)
+ [ElastiCache 适用于 Memcached 的 1.6.17 版](#memcached-version-1-6-17)
+ [ElastiCache 适用于 Memcached 的 1.6.12 版](#memcached-version-1-6-12)
+ [ElastiCache 适用于 Memcached 的 1.6.6](#memcached-version-1-6-6)
+ [ElastiCache 适用于 Memcached 的 1.5.16 版本](#memcached-version-1-5-16)
+ [ElastiCache 适用于 Memcached 的 1.5.10 版](#memcached-version-1-5-10)
+ [ElastiCache 适用于 Memcached 的 1.4.34 版](#memcached-version-1-4-34)
+ [ElastiCache 适用于 Memcached 的 1.4.33 版](#memcached-version-1-4-33)
+ [ElastiCache 适用于 Memcached 的 1.4.24 版](#memcached-version-1-4-24)
+ [ElastiCache 适用于 Memcached 的 1.4.14 版](#memcached-version-1-4-14)
+ [ElastiCache 适用于 Memcached 的 1.4.5](#memcached-version-1-4-5)

### ElastiCache 适用于 Memcached 的 1.6.22 版
<a name="memcached-version-1-6-22"></a>

ElastiCache 对于适用于 Memcached 的 Memcached 版本 1.6.22，增加了对 Memcached 版本 1.6.22 的支持。该版本未包含任何新功能，但包含对 [Memcached 1.6.18](https://github.com/memcached/memcached/wiki/ReleaseNotes1618) 的错误修复和累积更新。

欲了解更多信息，请参阅 Memcached 上的 [ReleaseNotes1622](https://github.com/memcached/memcached/wiki/ReleaseNotes1622)。 GitHub

### ElastiCache 适用于 Memcached 的 1.6.17 版
<a name="memcached-version-1-6-17"></a>

ElastiCache 对于适用于 Memcached 的 Memcached 版本 1.6.17，增加了对 Memcached 引擎版本 1.6.17 的支持。该版本未包含任何新功能，但包含对 [Memcached 1.6.17](https://github.com/memcached/memcached/wiki/ReleaseNotes1617) 的错误修复和累积更新。

欲了解更多信息，请参阅 Memcached 上的 [ReleaseNotes1617](https://github.com/memcached/memcached/wiki/ReleaseNotes1617)。 GitHub

### ElastiCache 适用于 Memcached 的 1.6.12 版
<a name="memcached-version-1-6-12"></a>

ElastiCache 对于适用于 Memcached 的 Memcached 版本 1.6.12，增加了对 Memcached 引擎 1.6.12 和传输中加密的支持。它包括 [Memcached 1.6.6](https://github.com/memcached/memcached/wiki/ReleaseNotes166) 中的错误修复和累积更新。

有关更多信息，请参阅 Memcached 上的 [ReleaseNotes1612](https://github.com/memcached/memcached/wiki/ReleaseNotes1612)。 GitHub

### ElastiCache 适用于 Memcached 的 1.6.6
<a name="memcached-version-1-6-6"></a>

ElastiCache 适用于 Memcached 版本 1.6.6 的 Memcached 增加了对 Memcached 版本 1.6.6 的支持。它不包含任何新功能，但确实包含错误修复和来自 [Memcached 1.](https://github.com/memcached/memcached/wiki/ReleaseNotes1.5.16) 5.16 的累积更新。 ElastiCache 适用于 Memcached 不包括对 [Ext](https://memcached.org/extstore) store 的支持。

有关更多信息，请参阅 Memcached 上 GitHub的 [ReleaseNotes166](https://github.com/memcached/memcached/wiki/ReleaseNotes166)。

### ElastiCache 适用于 Memcached 的 1.5.16 版本
<a name="memcached-version-1-5-16"></a>

ElastiCache 适用于 Memcached 的 1.5.16 版本增加了对 Memcached 版本 1.5.16 的支持。它没有包含任何新功能，但包含了 [Memcached 1.5.14](https://github.com/memcached/memcached/wiki/ReleaseNotes1514) 和 [Memcached 1.5.15](https://github.com/memcached/memcached/wiki/ReleaseNotes1515) 中的错误修复和累积更新。

有关更多信息，请参阅 [Memcached 上的 Memcached 1.5.16 版本说明](https://github.com/memcached/memcached/wiki/ReleaseNotes1516)。 GitHub

### ElastiCache 适用于 Memcached 的 1.5.10 版
<a name="memcached-version-1-5-10"></a>

ElastiCache 适用于 Memcached 的 1.5.10 版本支持以下 Memcached 功能：
+ 自动 Slab 重新平衡。
+ 使用 `murmur3` 算法实现更快的哈希表查找。
+ 经过分段的 LRU 算法。
+ LRU 爬网程序到后台回收内存。
+ `--enable-seccomp`：一个编译时选项。

它还引入了 `no_modern` 和 `inline_ascii_resp` 参数。有关更多信息，请参阅 [Memcached 1.5.10 参数更改](ParameterGroups.Engine.md#ParameterGroups.Memcached.1-5-10)。

自 1.4.34 ElastiCache 版本以来，为 Memcached 添加的内存缓存改进包括以下内容：
+ 累积修复，例如 ASCII multigets、CVE-2017-9951 和 `metadumper` 的限制爬网。
+ 通过在达到连接限制时关闭连接来改善连接管理。
+ 改进了超过 1MB 的项大小的项大小管理。
+ 通过将每个项的内存需求减少几个字节来提高性能和减少内存开销。

有关更多信息，请参阅 [Memcached 上的 Memcached 1.5.10 版本说明](https://github.com/memcached/memcached/wiki/ReleaseNotes1510)。 GitHub

### ElastiCache 适用于 Memcached 的 1.4.34 版
<a name="memcached-version-1-4-34"></a>

ElastiCache 适用于 Memcached 的 1.4.34 版本未在 1.4.33 版本中添加任何新功能。1.4.34 版是一个错误修复版本，它大于一般的此类版本。

有关更多信息，请参阅 [Memcached 上的 Memcached 1.4.34 版本说明](https://github.com/memcached/memcached/wiki/ReleaseNotes1434)。 GitHub

### ElastiCache 适用于 Memcached 的 1.4.33 版
<a name="memcached-version-1-4-33"></a>

自 v1.4.24 起增加的改进功能包括：
+ 能够为特定 slab 类、slab 类列表或所有 slab 类转储所有元数据。有关更多信息，请参阅 [Memcached 1.4.31 发布说明](https://github.com/memcached/memcached/wiki/ReleaseNotes1431)。
+ 改进对超过 1 MB 默认值的大项目的支持。有关更多信息，请参阅 [Memcached 1.4.29 发布说明](https://github.com/memcached/memcached/wiki/ReleaseNotes1429)。
+ 能够指定在要求关闭客户端之前，客户端可以保持空闲的时间长度。

  能够动态增加可供 Memcached 使用的内存量而无需重新启动集群。有关更多信息，请参阅 [Memcached 1.4.27 发布说明](https://github.com/memcached/memcached/wiki/ReleaseNotes1427)。
+ 现在支持 `fetchers`, `mutations` 和 `evictions` 的日志记录。有关更多信息，请参阅 [Memcached 1.4.26 发布说明](https://github.com/memcached/memcached/wiki/ReleaseNotes1426)。
+ 释放的内存可回收到全局池中并重新分配到新的 slab 类。有关更多信息，请参阅 [Memcached 1.4.25 发布说明](https://github.com/memcached/memcached/wiki/ReleaseNotes1425)。
+ 修复了几个 Bug。
+ 一些新的命令和参数。有关列表，请参阅[Memcached 1.4.33 增加的参数](ParameterGroups.Engine.md#ParameterGroups.Memcached.1-4-33)。

### ElastiCache 适用于 Memcached 的 1.4.24 版
<a name="memcached-version-1-4-24"></a>

自 v1.4.14 起增加的改进功能包括：
+ 使用后台进程的最近最少使用（LRU）的管理。
+ 增加了使用 *jenkins* 或 *murmur3* 作为哈希算法的选项。
+ 一些新的命令和参数。有关列表，请参阅[Memcached 1.4.24 增加的参数](ParameterGroups.Engine.md#ParameterGroups.Memcached.1-4-24)。
+ 修复了几个 Bug。

### ElastiCache 适用于 Memcached 的 1.4.14 版
<a name="memcached-version-1-4-14"></a>

自 v1.4.5 起增加的改进功能包括：
+ 增强了 Slab 重新平衡功能。
+ 性能和可扩展性方面的改进。
+ 引入了 *touch* 命令，可在不获取的情况下更新现有项目的过期时间。
+ Auto Discovery – 客户端程序功能，可以自动确定集群中的所有缓存节点，以及启动和维护与所有这些节点的连接。

### ElastiCache 适用于 Memcached 的 1.4.5
<a name="memcached-version-1-4-5"></a>

ElastiCache 适用于 Memcached 的 1.4.5 版本是亚马逊支持的 Memcached 的初始引擎和版本 ElastiCache 。