Через месяц после запуска кэша Redis перестал принимать записи
Сервис кэширует карточки товаров: redis.set(f"product:{id}", payload). У Redis задан лимит памяти и политика noeviction. Через месяц записи начали падать с ошибкой OOM command not allowed when used memory > maxmemory.
Что стало причиной?
- Ключи записаны без TTL и копились, пока память не кончилась
- Redis хранит все ключи на диске, и закончилось место на сервере
- Политика noeviction удаляет старые ключи слишком медленно
- Карточки товаров слишком большие для хранения в Redis
