Redis — один из самых эффективных инструментов для кэширования в Битрикс. Встроенный файловый кэш работает, но при высоких нагрузках становится узким местом. Redis решает эту проблему за счёт хранения данных в памяти.
Установка Redis на сервер
apt install redis-server
systemctl enable redis-server
systemctl start redis-server
Проверить работу: redis-cli ping — должен ответить PONG.
Установка PHP-расширения
apt install php8.1-redis
systemctl restart php8.1-fpm
Подключение Redis в Битрикс
Откройте /bitrix/.settings.php и добавьте секцию cache:
'cache' => [
'value' => [
'type' => [
'class_name' => '\Bitrix\Main\Data\RedisCache',
'extension' => 'redis',
],
'redis' => [
'host' => '127.0.0.1',
'port' => 6379,
],
'sid' => 'bx',
],
],
Настройка maxmemory
В /etc/redis/redis.conf задайте лимит памяти:
maxmemory 512mb
maxmemory-policy allkeys-lru
Политика allkeys-lru удаляет наименее используемые ключи при достижении лимита — оптимально для кэша.
Сессии пользователей в Redis
Дополнительно можно перенести PHP-сессии в Redis:
session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"
Это особенно актуально при использовании нескольких серверов под балансировкой нагрузки.
Проверка
После сохранения сбросьте кэш в административной панели и проверьте через redis-cli:
redis-cli DBSIZE
Если видите число больше нуля — Redis работает как кэш Битрикс.
