Повільна база даних — найчастіша причина сайту, що гальмує на спільному хостингу. Кеш в оперативній памʼяті знімає більшу частину навантаження з MySQL, і ISPmanager 6 вміє ставити Redis і Memcached за пару кліків. Розберемо, чим вони відрізняються і як їх підключити.
Чим Redis відрізняється від Memcached
| Параметр | Redis | Memcached |
|---|---|---|
| Типи даних | Рядки, списки, хеші, множини | Тільки рядки |
| Збереження на диск | Є, за бажанням | Немає, тільки памʼять |
| Типове застосування | Кеш обʼєктів, черги, сесії | Простий кеш сторінок і фрагментів |
Для WordPress і більшості CMS Redis підходить краще: він переживає перезапуск процесу, коли увімкнено збереження на диск, і його простіше використовувати для черг завдань.
Встановлення Redis через панель
Відкрийте «Налаштування» → «Можливості» → знайдіть пункт Redis і натисніть «Встановити». ISPmanager 6 сам додасть сервіс в автозавантаження і відкриє сокет тільки для локальних підключень на порту 6379.
Перевірити, що служба запущена, можна з консолі сервера:
systemctl status redis
redis-cli ping
Команда redis-cli ping має повернути PONG — це означає, що сервіс приймає підключення.
Встановлення Memcached через панель
Memcached ставиться тим самим способом: «Налаштування» → «Можливості» → Memcached → «Встановити». За замовчуванням сервіс слухає порт 11211 і обмежує обсяг памʼяті під кеш, зазвичай 64 МБ на сайт — значення можна збільшити в налаштуваннях модуля при великій кількості обʼєктів кешу.
systemctl status memcached
echo stats | nc 127.0.0.1 11211
Команда echo stats показує кількість збережених ключів і відсоток влучань у кеш — за ним видно, чи справді кеш знижує навантаження на базу.
Підключення кешу до WordPress
Для Redis встановіть плагін Redis Object Cache і вкажіть у його налаштуваннях хост 127.0.0.1 і порт 6379 — плагін сам створить файл object-cache.php в каталозі wp-content. Для Memcached підійде плагін W3 Total Cache з увімкненим модулем Object Cache і адресою 127.0.0.1:11211.
Після підключення будь-якого кешу перевірте, що сайт відкриває сторінки адмінки без помилок: невірний порт або заблокований файрволом сокет призводять до білого екрана замість явної помилки.
Кеш після перенесення чи клонування сайту
Якщо сайт переносили на інший сервер, старі ключі кешу будуть вказувати на попередні дані — обовʼязково очистіть Redis або Memcached одразу після перенесення, інакше клієнт побачить застарілий контент. Порядок перенесення сайтів описано в статті про перенесення сайту між серверами ISPmanager 6.
Очистити кеш Redis з консолі можна командою:
redis-cli FLUSHALL
Підсумок: як вибрати і перевірити кеш
- Для WordPress і CMS з обʼєктами обирайте Redis
- Для простого кешу фрагментів сторінок досить Memcached
- Ставте сервіс через «Налаштування» → «Можливості», не через сторонні репозиторії
- Перевіряйте статус командою systemctl status і пінг сервісу з консолі
- Очищайте кеш після перенесення сайту чи зміни домену
Якщо ресурсів сервера не вистачає навіть з кешем, варто переглянути тариф VDS — детальніше про ліцензії і потужність серверів ISPmanager 6 у статті про ліцензії ISPmanager 6.