Кэширование: 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: защита от массовой перегенерации.