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