Memcached — сервер кеширования данных в оперативной памяти. С его помощью можно добиться увеличения скорости работы сайта и снижения нагрузки на сервер.
Для использования Memcached требуется модуль PHP. На наших серверах установлено два таких модуля — Memcache и memcached. Вы можете использовать оба.
Чтобы подключить модуль перейдите в раздел «Сайты», который находится в левом боковом меню. В этом разделе нажмите на кнопку «Кеширование», после чего откроется страница с доступными вариантами объема памяти (128 МБ, 256 МБ, 1024 МБ). Выберите подходящий объем памяти, исходя из ваших потребностей. Если вы не уверены в выборе объема, можно воспользоваться проверочным скриптом для определения оптимального размера кеша.
В скрипте, который подключается к кеширующему серверу, укажите путь до сокета:
- Для Memcache:
unix:///home/login/tmp/memcached.sock
- Для memcached:
/home/login/tmp/memcached.sock:0
Сайты на популярных CMS тоже могут работать с Memcached. Рассмотрим процесс настройки для проектов, созданных с помощью Wordpress, Joomla! и 1C-Битрикс.
WordPress
В CMS Wordpress нет встроенных механизмов подключения к кеширующему серверу, поэтому используйте специальный плагин, например, W3 Total Cache.
Настройка плагина зависит от сайта: не существует алгоритма, который подошел бы каждому проекту. В общем случае рекомендуем включить кеширование страниц (Page cache) и запросов к базе данных (Database cache).
После установки плагина в боковом меню появится пункт «Performance». Перейдите в раздел «General Settings» и найдите блок «Page cache». Включите кеширование (Enable) и в выпадающем списке выберите метод — Memcached. Нажмите «Save all settings».

Выполните те же действия в блоке «Database cache».
В боковом меню перейдите в раздел «Page cache». Если на сайте доступна регистрация пользователей, отключите опцию «Don't cache pages for logged in users». Нажмите «Save all settings».

В блоке «Cache Preload» установите интервал очистки кеша — 86400 секунд (сутки). Сохраните изменения.

Перейдите к блоку «Advanced». В строке «Memcached hostname» укажите путь до сокета memcached и нажмите «Test». Сокет указан корректно, если в результате получено значение «Test passed».

В строке «Maximum lifetime of cache objects» установите время — 21600 секунд (6 часов). Опуститесь в нижнюю часть страницы и нажмите «Save all settings».

Перейдите в раздел «Database cache» и в строке «Memcached hostname» укажите путь до сокета memcached. Сохраните изменения.
Плагин настроен.
Joomla!
CMS Joomla! поддерживает работу с Memcached по умолчанию.
Чтобы включить кеширование, авторизуйтесь в административной части сайта и перейдите в раздел «Система» → «Общие настройки», вкладка «Система».

В блоке «Настройка кэша» укажите параметры, как на скриншоте. В поле «Сервер Memcache(d)» введите путь до сокета:

Сайт настроен для работы с Memcached.
Для настройки старых версий Joomla! (ниже 2.5) добавьте в конфигурационный файл configuration.php строки:
public $memcache_server_host = 'unix:///home/login/tmp/memcached.sock'; public $memcache_server_port = '0';
«login» замените на логин вашего аккаунта хостинга.
1С-Битрикс
Чтобы подключить к Memcached сайт на CMS 1С-Битрикс, создайте в каталоге ~/public_html/bitrix файл .settings_extra.php и добавьте в него инструкции:
<?php return array ( 'cache' => array( 'value' => array ( 'type' => 'memcache', 'memcache' => array( 'host' => 'unix:///home/login/tmp/memcached.sock', 'port' => '0' ), 'sid' => $_SERVER["DOCUMENT_ROOT"]."login" ), ), );
В административной части сайта перейдите в раздел «Настройки» → «Производительность» → «Панель производительности», вкладка «Битрикс (оптимально)», и проверьте, указано ли значение «memcache» в пункте «Хранение кеша».

Вернитесь в раздел «Аккаунт» → «Услуги» Панели управления хостинга и перезагрузите Memcache.
Проверка работы Memcached
Проверьте корректность настроек с помощью специального скрипта.
В корневом каталоге сайта создайте файл memcache.php и поместите в него следующий код:
<?php $memcache_obj = new Memcache; $memcache_obj->addServer('unix:///home/login/tmp/memcached.sock', 0); $status = $memcache_obj->getStats(); $MBUsed= (float)$status["bytes"]/(1024*1024); $MBSize=(float) $status["limit_maxbytes"]/(1024*1024); ?> Статистика Memcache: <table border='1'> <tr><td>Версия Memcache сервера</td><td> <?=$status ["version"];?></td></tr> <tr><td>Время работы Memcache (в секундах) </td><td><?=$status ["uptime"];?></td></tr> <tr><td>Максимальный объем памяти для Memcache</td><td><?=$MBSize;?> Мб</td></tr> <tr><td>Используется памяти</td><td><? printf("%.2f",$MBUsed);?> Мб</td></tr> </table>
В строке:
$memcache_obj->addServer('unix:///home/login/tmp/memcached.sock', 0);
замените «login» на логин вашего аккаунта хостинга. Сохраните изменения.
Обратитесь к скрипту из браузера по ссылке: http://domain.ru/memcache.php, где domain.ru — доменное имя сайта.

Значение в графе «Используется памяти» должно быть больше нуля. Если оно близко к максимальному объему памяти, увеличьте размер кеша в Панели управления.