本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
引擎版本和升级
MAJOR版本用于API不兼容的更改,MINOR版本用于以向后兼容的方式添加的新功能。PATCH版本用于向后兼容的错误修复和不起作用的更改。
注意
如果跨一个或多个区域复制 Redis OSS 集群,则会先升级辅助区域的引擎版本,然后升级主区域的引擎版本。
ElastiCache 无服务器版本管理
ElastiCache Serverless 会自动将最新版本MINOR和PATCH软件版本应用于您的缓存,而不会对您的应用程序造成任何影响或停机。在您的末端不需要执行任何操作。
当有新MAJOR版本可用时, ElastiCache Serverless 将在控制台中向您发送通知,并在中 EventBridge向您发送事件。您可以选择将缓存升级到最新的主要版本,方法是使用控制台修改缓存 CLIAPI,或者选择最新的引擎版本。
为自己设计 ElastiCache 的集群提供版本管理
使用自行设计的 ElastiCache 集群时,您可以控制为缓存集群提供支持的 ElastiCache 软件何时升级到支持的新版本。您可以控制何时将缓存升级到最新的可用MAJORMINOR、和PATCH版本。可以通过修改集群或复制组并指定新的引擎版本,对您的集群或复制组启动引擎版本升级。
您可以控制为缓存集群提供支持的符合协议的软件是否以及何时升级到支持的新版本。 ElastiCache此级别的控制使您能够与特定版本保持兼容、在生产中部署进行之前使用应用程序测试新版本以及根据自己的条件和时间表执行版本升级。
因为版本升级可能会涉及到某些兼容性风险,因此版本升级不会自动发生。您必须启动它们。
要升级到更新的 Memcached 版本,请修改缓存群集,同时指定要使用的新引擎版本。升级到更新的 Memcached 版本是一个破坏性过程 – 您会丢失数据并以冷缓存开始。有关更多信息,请参阅修改集群。
从旧版本的 Memcached 升级到 1.4.33 版本或更新版本的 Memcached 时,您应注意以下要求。CreateCacheCluster
和 ModifyCacheCluster
在下列情况下将失败:
-
如果
slab_chunk_max > max_item_size
。 -
如果
max_item_size modulo slab_chunk_max != 0
。 -
如果
max_item_size > ((max_cache_memory - memcached_connections_overhead) / 4)
。(max_cache_memory - memcached_connections_overhead)
值是可用于数据的节点内存。有关更多信息,请参阅 Memcached 连接开销。
使用自行设计集群时的升级注意事项
注意
以下注意事项仅在升级自行设计集群时适用。它们不适用于 ElastiCache 无服务器。
在升级自行设计集群时,请注意以下事项
引擎版本管理的设计使您可以尽可能多地控制修补的发生方式。但是,如果系统或缓存软件中出现严重安全漏洞,则 ElastiCache 保留代表您修补集群的权利。
-
由于 Memcached 引擎不支持持久化,因此 Memcached 引擎版本升级始终是一个中断性过程,将清除集群中的所有缓存数据。
如何升级引擎版本
要启动对集群的版本升级,请对其进行修改并指定较新的引擎版本。你可以使用 ElastiCache 控制台 Amazon CLI、或 ElastiCache API: