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

比较 Memcached 和 Redis

Amazon ElastiCache 支持 Memcached 和 Redis 缓存引擎。每种引擎都有自己的优点。使用本主题中的信息有助于您选择出最能满足您的要求的引擎和版本。

重要

创建缓存集群或复制组后,您可以升级到较新的引擎版本,但不能降级到较早的引擎版本。如果您要使用较早的引擎版本,必须删除现有的缓存集群或复制组,并使用较早的引擎版本重新创建。

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

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

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

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

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

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

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

  • ElastiCache for Redis 5.0.0 版(加强版)

    您需要使用 Redis 流,它是一个日志数据结构,允许生成者实时附加新项,并允许使用者以阻塞或非阻塞方式使用消息。

    有关更多信息,请参阅 Redis 5.0.0 版(加强版)

  • ElastiCache for Redis 4.0.10 版(加强版)

    支持加密以及从您的 Redis (已启用集群模式)集群动态添加或删除分片。

    有关更多信息,请参阅 Redis 4.0.10 版(加强版)

  • ElastiCache for Redis 3.2.10 版(加强版)

    支持从您的 Redis (已启用集群模式)集群动态添加或删除分片的能力。

    重要

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

    有关更多信息,请参阅:

  • ElastiCache for Redis 3.2.6 版(加强版)

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

  • ElastiCache for Redis(已启用集群模式)3.2.4 版

    如果需要 Redis 2.8.x 的功能外加以下功能,请选择 Redis 3.2.4 (集群模式):

    • 您需要在 2 到 15 个节点组(仅限集群模式)之间对数据分区。

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

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

    重要

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

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

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

    Redis 版本 3.2.4 (启用集群模式) 有以下限制:

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

    • 无法动态更改节点组 (分区) 中的副本数。

  • ElastiCache for Redis(非集群模式)2.8x 和 3.2.4(加强版)

    如果您存在以下情况,请选择 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 及更高版本
数据类型 简便 ‡ 2.8.x - 复杂 * 3.2.x 及更高版本 - 复杂
复杂
数据分区
集群是可修改的 3.2.10 及更高版本 - 有限
在线重新分片 3.2.10 和后续版本
加密 3.2.6、4.0.10 及更高版本 3.2.6、4.0.10 及更高版本
合规性认证
合规性认证

    FedRAMP

    HIPAA

    PCI DSS

 

 

3.2.6、4.0.10 及更高版本

3.2.6、4.0.10 及更高版本

3.2.6、4.0.10 及更高版本

 

3.2.6、4.0.10 及更高版本

3.2.6、4.0.10 及更高版本

3.2.6、4.0.10 及更高版本

多线程
节点类型升级
引擎升级 支持
高可用性 (复制)
自动故障转移 可选 必需
发布/订阅功能
排序集
备份与恢复
地理空间索引 2.8.x - 否
3.2.x 及更高版本 - 是
备注:
‡字符串、对象(如数据库)
* 字符串、集、排序集、列表、哈希、位图、hyperloglog
字符串、集、排序集、列表、哈希、位图、hyperloglog、地理空间索引

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