Кэш остатков на складе с TTL 5 минут привёл к продаже отсутствующих товаров
Чтобы разгрузить базу, закэшировали на 5 минут метод «сколько единиц товара на складе». Нагрузка упала, но покупатели стали оформлять заказы на товары, которые закончились несколько минут назад, и магазин отменяет заказы.
Какой вывод правильный?
- Остатки для решения о покупке нельзя брать из кэша
- TTL нужно увеличить, чтобы кэш реже расходился с базой
- Кэш нужно хранить в памяти приложения вместо Redis
- Проблема не в кэше: база возвращает неточные остатки
