Amazon ElastiCache
用户指南 (API Version 2015-02-02)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

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

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

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

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

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

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

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

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

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

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

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

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

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

    • 重要

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

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

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

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

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

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

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

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

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

    • 您需要发布和订阅 (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.6 仅限于 3.2.6
HIPAA 合规性 仅限于 3.2.6 仅限于 3.2.6
多线程
集群可修改 有限
节点类型升级
引擎升级
数据分区
密钥库持久性
高可用性(复制)
主集群的自动故障转移 可选 必需
发布/订阅功能
排序列表
计数器与哈希
备份/还原功能
地理空间索引 Redis 2.8.x - 否
Redis 3.2.x - 是
备注:
‡字符串、对象(如数据库)
* 字符串、集、排序集、列表、哈希、位图、hyperloglog
字符串、集、排序集、列表、哈希、位图、hyperloglog、地理空间索引

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