AWS ElastiCache - Memcached 和 Redis

Amazon ElastiCache 支持 Redis 和 Memcached 缓存引擎。Redis 是一种开源内存数据结构,可实现分布式内存键值数据库。Memcached 也是一种分布式内存缓存系统。它通常用于通过缓存数据和对象来加速动态数据库驱动的网站,以减少必须读取外部数据源才能将值输入到 Web 应用程序中的次数。

以下是我们应该在 AWS 平台中选择特定引擎的场景。

使用 Redis

以下功能列表显示了 Redis 如何处理更复杂的数据结构、提供持久性和排序等。因此,我们应该在 ElastiCache 中优先选择 Redis 作为平台的场景如下所述。

  • 需要存储复杂的数据类型,例如字符串、哈希、列表、集合、有序集合和位图。

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

  • 需要持久化您的密钥存储。

  • 需要复制您的数据对于读取密集型应用程序,从主节点到一个或多个读取副本。

  • 如果主节点发生故障,需要自动故障转移。

  • 如果主节点发生故障,需要自动故障转移。

  • 需要备份和恢复功能。

  • 需要支持多个数据库。

使用 Memcached

Memcached 更适合更简单的数据结构,并且不提供持久性。因此,以下场景适合使用 Memcached。

  • 需要尽可能简单的数据模型来存储键值对。

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

  • 需要能够扩展和缩小,随着系统需求的增加和减少而添加和删除节点。

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