Redis — быстрое хранилище данных в оперативной памяти сервера. Используется сайтами и сетевыми приложениями в качестве СУБД, для кеширования веб-страниц или хранения временных быстроизменяющихся данных.
Все популярные языки программирования имеют расширения для работы с Redis. Например, для PHP существует модуль PhpRedis (он установлен на нашей платформе хостинга), также доступны реализации для Python, Node.js и других языковых сред.
Модуль PhpRedis недоступен для PHP версий 5.2 и 5.3.
Для включения Redis перейдите в раздел «Баланс» → «Дополнительные услуги» и выберите объем памяти. В скрипте, осуществляющем подключение к Redis, укажите путь до сокета:
/home/login/tmp/redis.sock
Вместо «login» везде необходимо указывать ваш логин аккаунта хостинга.
Утилита redis-cli позволяет сохранять, считывать, удалять данные через интерфейс командной оболочки (подключившись к серверу по SSH). Например, следующая команда подключается к серверу Redis и показывает в реальном времени все операции записи и чтения информации:
~ $ redis-cli -s /home/login/tmp/redis.sock monitor
Таким образом можно проверить, используется ли хранилище вашими сайтами или веб-приложениями.
Также с помощью redis-cli можно проверить объем используемой памяти с помощью команды:
~ $ redis-cli -s /home/login/tmp/redis.sock info memory
В третьей строке вывода будет указано количество потребляемой памяти:
~ used_memory_human: 493.83K
В примере указано, что в Redis использовано 493.83 Кбайт памяти.
Вы можете настроить хранение PHP-сессий в Redis. Для этого следует добавить в конфигурационный файл .htaccess следующие директивы:
php_value session.save_handler "redis"
php_value session.save_path "unix:/home/login/tmp/redis.sock"
Ознакомимся с процессом настройки кеширования Redis на сайтах, использующих распространенные CMS.
WordPress
В CMS Wordpress нет встроенных механизмов подключения к кеширующему серверу, поэтому используйте специальный плагин, например, W3 Total Cache.
Настройка плагина зависит от сайта: не существует алгоритма, который подошел бы каждому проекту. В общем случае рекомендуем включить кеширование страниц (Page cache) и запросов к базе данных (Database cache).
После установки плагина в боковом меню появится пункт «Performance». Перейдите в раздел «General Settings» и найдите блок «Page cache». Включите кеширование (Enable) и в выпадающем списке выберите метод — Redis. Нажмите «Save all settings».
Выполните те же действия в блоке «Database cache».
В боковом меню перейдите в раздел «Page cache». Если на сайте доступна регистрация пользователей, отключите опцию «Don't cache pages for logged in users». Нажмите «Save all settings».
В блоке «Cache Preload» установите интервал очистки кеша — 86400 секунд (сутки). Сохраните изменения.
Перейдите к блоку «Advanced». В строке «Redis hostname» укажите путь до сокета и нажмите «Test». Сокет указан корректно, если в результате получено значение «Test passed».
В строке «Maximum lifetime of cache objects» установите время — 21600 секунд (6 часов). Опуститесь в нижнюю часть страницы и нажмите «Save all settings».
Перейдите в раздел «Database cache» и в строке «Redis hostname» укажите путь до сокета redis. Сохраните изменения.
Плагин настроен.
Joomla!
CMS Joomla по умолчанию имеет функцию хранения кеша в Redis. Чтобы включить кеширование, авторизуйтесь в административной части сайта и перейдите в раздел «Система» → «Общие настройки», вкладка «Система».
В блоке «Настройка кэша» укажите параметры, как на скриншоте. В поле «Хост сервера Redis» введите путь до сокета:
Сайт настроен для работы с Redis. По желанию вы можете указать такие же параметры в следующем блоке — «Настройки сессии» для того, чтобы Redis хранил данные пользовательских сессий.