Amazon ElastiCache
用户指南 (API 版本 2015-02-02)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

选择引擎:Memcached、Redis (已禁用集群模式) 或 Redis (已启用集群模式)

从表面上看,这两个引擎十分类似。每个引擎均是一个内存键/值存储。不过,这两者实际上有很大差异。

如果存在以下情况,请选择 Memcached:

  • 您需要使模型尽可能简单。

  • 您需要运行具有多个核心或线程的大型节点。

  • 您需要具备缩放能力,随着系统需求的增加和减少来添加和移除节点。

  • 您需要缓存对象,如数据库。

如果以下情况适用于您的情况,请选择 ElastiCache for Redis 的版本:

  • 如果您需要能够从您的 Redis (已启用集群模式) 群集中动态增加或删除分片,请选择 ElastiCache for Redis 3.2.10:

    重要

    目前 ElastiCache for Redis 3.2.10 不支持加密。

    有关更多信息,请参阅:

  • 如果您需要早期 Redis 版本的所有功能外加以下功能,请选择 ElastiCache for Redis 3.2.6:

  • 如果需要 Redis 2.8.x 的所有功能,请选择 Redis 3.2.4 (群集模式),但有以下区别:

    • 您需要将数据分配到 2 到 15 个节点组 (仅限群集模式)。

    • 您需要地理空间索引 (群集模式或非群集模式)。

    • 您不需要支持多个数据库。

    • 重要

      Redis (已启用集群模式) 群集模式有以下限制:

      • 无法纵向扩展到更大的节点类型。

      • 不更改节点组(分区)中的副本数。

  • 如果存在以下情况,请选择 Redis 2.8.x 或 Redis 3.2.4 (非群集模式):

    • 您需要复杂数据类型,如字符串、哈希、列表、集、排序集和位图。

    • 您需要对内存数据集进行排序或排名。

    • 您需要持久保留密钥库。

    • 您需要为读取操作密集型应用程序将主群集中的数据复制到一个或多个只读副本。

    • 您需要在主节点出现故障的情况下执行自动故障转移。

    • 您需要发布和订阅 (pub/sub) 功能 - 向客户端通知服务器上发生的事件。

    • 您需要备份和还原功能。

    • 您需要支持多个数据库。

Memcached、Redis (已禁用集群模式)和 Redis (已启用集群模式) 的比较摘要

Memcached Redis (已禁用集群模式) Redis (已启用集群模式)
引擎版本 1.4.x 2.8.x 和 3.2.x 3.2.x
数据类型 简便 ‡ Redis 2.8.x - 复杂* 复杂
Redis 3.2.x - 复杂†
在线重新分片 仅限于 3.2.10 仅限于 3.2.10
加密 仅限于 3.2.6 仅限于 3.2.6
HIPAA 合规性 仅限于 3.2.6 仅限于 3.2.6
多线程
群集可修改 有限
节点类型升级
引擎升级
数据分区
密钥库持久性
高可用性(复制)
主群集的自动故障转移 可选 必需
发布/订阅功能
排序列表
计数器与哈希
备份/还原功能
地理空间索引 Redis 2.8.x - 否
Redis 3.2.x - 是
备注:
‡字符串、对象(如数据库)
* 字符串、集、排序集、列表、哈希、位图、hyperloglog
字符串、集、排序集、列表、哈希、位图、hyperloglog、地理空间索引

为群集选择引擎后,建议您使用该引擎的最新版本。有关更多信息,请参阅 适用于 Memcached 版本的 ElastiCacheElastiCache for Redis 版本