Когда подключают Redis к Битриксу, часто включают кеширование всего подряд и удивляются: почему данные устаревают, почему иногда показывается старая версия страницы после изменения.
Redis в Битриксе работает на нескольких уровнях: кеш компонентов, кеш HTML, хранение сессий. Смешивать их в одном экземпляре Redis без разделения по базам — плохая практика. При flush кеша вы случайно сбрасываете сессии и выбиваете пользователей.
Что хорошо кешировать: выборки из инфоблоков которые меняются редко (каталог товаров, статьи), результаты сложных SQL-запросов, агрегированные данные для виджетов.
Что не стоит кешировать на долгий срок: корзину, данные авторизованного пользователя, остатки товаров если они меняются часто.
Настройте разные TTL для разных типов данных. Каталог может жить в кеше час, остатки — максимум минуту. И всегда настраивайте инвалидацию кеша при изменении данных, а не только по таймауту.
Битрикс Stack
@BitrixStackPro
Redis в Битриксе: что кешировать, что нет
Этот пост опубликован в Telegram-канале Битрикс Stack. Подписаться можно по ссылке: @BitrixStackPro.