Почему перестает работать кэш?

Всем привет!

Опишу ситуацию.

Есть сайт, с новостями, у новостей есть несколько отношений, и несколько count запросов, т.к на сайт может зайти за несколько секунд порядка 100+ человек, было принято решение использовать кеш, а именно, redis (predis/predis).

Все работает отлично, страницы загружаются молниеностно, но, примерно после часа работы - новости перестаются отдаватся через Кэш, и начинают запрашивать напрямую из базы (https://i.imgur.com/oQLzAdM.png). Если перезагрузить сервер - то ситуация нормализуется, но через какое-то время все повторится, когда запросов становится слишком много - сервер просто отдает 502 (https://i.imgur.com/9xhyy9t.png)

Все запросы, обернуты в Cache::remember(...)..

Что это может быть?

Настройка редиса стандартная, разве что память увеличена до 32гб.

@update

Если сделать в redis-cli KEYS *, то начнет показыватся более 100+к записей, с названиями вроде (blob:https://imgur.com/b6a078f6-9e72-4515-acbc-fe3da87e0d1f)

Содержание таких ключей, почти однотипное (https://i.imgur.com/OcSwnHb.png)

На views не похоже, что же это?

@update

Ок, это сессии
  • Вопрос задан
  • 194 просмотра
Пригласить эксперта
Ответы на вопрос 1
profesor08
@profesor08
Похоже на косяк в кешировании. Кто-то или что-то, кеширует новость, устанавливает для нее время кеширования около часа, а когда время истечет, запрашивает новую запись из бд, кеширует ее, но время не обновляет. А значит, по истечению первого часа, все новости будут дергаться из бд при каждом запросе. Типичная ошибка, не обновил одно значение и понеслась.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы