Кэширование: Redis и Memcached для игровых систем

Кэширование снижает latency и нагрузку на базы данных в десятки раз.

Redis

Структуры данных: strings, hashes, lists, sets, sorted sets. Persistence: RDB snapshots, AOF logs. Clustering: автоматическое шардирование. Pub/Sub: real-time уведомления. Lua scripting: серверная логика.

Memcached

Простая key-value модель. Multi-threaded: высокая производительность. Consistent hashing: равномерное распределение. Нет persistence: только in-memory. Проще в эксплуатации, но менее функционален чем Redis.

Стратегии кэширования

Cache-aside: приложение управляет кэшем. Write-through: запись одновременно в кэш и БД. Write-behind: асинхронная запись в БД. Read-through: кэш загружает данные при промахе.

Инвалидация кэша

TTL (Time To Live): автоматическое удаление. Event-based: инвалидация при изменении данных. LRU (Least Recently Used): вытеснение старых записей. Cache stampede protection: защита от массовой перегенерации.