メインコンテンツまでスキップ

Amazon ElastiCache Deep Dive

Managed Redis & Memcached.

1. Redis vs Memcached

FeatureRedisMemcached
Data TypesString, List, Set, Hash, Sorted SetString only
PersistenceYes (AOF/RDB)No (In-memory only)
High AvailabilityReplication, Auto-failoverNo
Pub/SubYesNo
Use CaseComplex caching, Leaderboard, Session StoreSimple object caching, Multithreaded architecture
Go for Redis

Trong 95% trường hợp, Redis là lựa chọn tốt hơn nhờ tính năng phong phú và khả năng HA. Chỉ dùng Memcached nếu bạn cần cache những object cực nhỏ và đơn giản với quy mô cực lớn (multithreaded).

2. Caching Strategies

Lazy Loading (Cache-Aside)

  • Ưu điểm: Chỉ cache dữ liệu được request. Tiết kiệm RAM.
  • Nhược điểm: Cache miss gây chậm request đầu tiên. Dữ liệu có thể bị cũ (stale).

Write-Through

  • App ghi vào DB và Cache đồng thời.
  • Ưu điểm: Data trong cache luôn mới.
  • Nhược điểm: Ghi chậm hơn. Lãng phí RAM cho data ít đọc.

3. Redis Cluster Mode

  • Disabled: 1 Shard (1 Primary + N Replicas). Tốt cho read-heavy.
  • Enabled: Nhiều Shards. Dữ liệu được chia nhỏ ra các Shard. Tốt cho write-heavy và dataset lớn (vượt quá RAM của 1 node).