Amazon ElastiCache 热门2011年〜
实现微秒级响应速度的内存缓存服务
它能做什么
Amazon ElastiCache 是通过将数据保存在内存中实现微秒级超高速数据访问的全托管缓存服务。支持 Redis 和 Memcached 两种引擎。通过缓存数据库访问结果和会话信息,可以显著改善应用整体的响应速度。
使用场景
适用于数据库查询结果缓存、Web 应用会话管理、实时排行榜和排名、API 响应缓存、消息代理、地理空间数据处理等需要高速数据访问的场景。
日常类比
可以将其比作桌上的便签本。去书库 (数据库) 取资料需要时间,但将常用信息抄在桌上的便签本 (ElastiCache) 上就能立即查阅。便签本空间有限,使用频率低的信息会放回书库。
什么是 ElastiCache
Amazon ElastiCache 是 AWS 提供的全托管内存数据存储服务。内存是指将数据保存在 RAM 而非硬盘上的方式,由于无需磁盘访问,可实现数量级更快的数据读写。作为数据库前端的缓存层部署,可在减轻数据库负载的同时大幅提升应用响应速度。
Redis 与 Memcached 的区别
ElastiCache 支持 Redis 和 Memcached 两种引擎。Redis 具备数据持久化、复制、有序集合、Pub/Sub 消息等丰富功能,可用于缓存以外的用途。Memcached 专注于简单的键值缓存,以多线程实现高吞吐量为特点。犹豫时通常选择功能丰富的 Redis。
缓存策略
基本的缓存策略有两种。Lazy Loading (延迟加载) 在请求数据时检查缓存,如果没有则从数据库获取并保存到缓存。Write Through (写入时更新) 在写入数据库的同时更新缓存。设置 TTL (过期时间) 自动删除旧缓存以保持数据新鲜度非常重要。 有关缓存策略的设计模式和运维方法,也可参阅 书籍 (Amazon)。
入门指南
要开始使用 ElastiCache,在 ElastiCache 控制台点击「创建集群」。选择引擎 (Redis 或 Memcached),指定节点类型 (性能) 和节点数量。设置 VPC 和子网后,几分钟内集群即可启动。应用通过 Redis 客户端库或 Memcached 客户端库连接。
注意事项
- Since data is in memory, it can be lost during node failures. Use Redis replication to ensure availability
- Without proper TTL settings, stale data may continue to be served
- ElastiCache nodes are charged continuously while running, so choose smaller node types for development environments