AWS ElastiCache - Memcached 和 Redis
Amazon ElastiCache 支持 Redis 和 Memcached 缓存引擎。Redis 是一个开源的内存数据结构,实现了分布式、内存中的键值数据库。Memcached 也是一个分布式内存缓存系统。它通常用于通过缓存数据和对象来加速动态数据库驱动的网站,从而减少读取外部数据源以获取 Web 应用程序中值的次数。
以下是我们在 AWS 平台中应该选择特定引擎的场景。
使用 Redis
以下功能列表展示了 Redis 如何能够处理更复杂的数据结构,提供持久性和排序等。因此,此处描述了我们应该在 ElastiCache 中选择 Redis 作为平台的场景。
需要存储复杂的数据类型,例如字符串、哈希、列表、集合、有序集合和位图。
需要对内存数据集进行排序或排名。
需要密钥存储的持久性。
需要将数据从主节点复制到一个或多个只读副本,以用于读密集型应用程序。
如果主节点发生故障,需要自动故障转移。
如果主节点发生故障,需要自动故障转移。
需要备份和恢复功能。
需要支持多个数据库。
使用 Memcached
Memcached 更适合简单的数据结构,并且不提供持久性。因此,以下场景适用于 Memcached 使用。
需要尽可能简单的模型来存储键值对。
需要运行具有多个核心或线程的大型节点
需要能够扩展和缩减,根据系统需求的增加和减少添加和移除节点。
需要缓存对象,例如数据库。
广告