memcached — программное обеспечение, реализующее сервис кэширования данных в оперативной памяти на основе хеш-таблицы.
С помощью клиентской библиотеки для PHP позволяет кэшировать данные в оперативной. Распределение реализуется путем сегментирования данных по значению хэша ключа по аналогии с сокетами хэш-таблицы.
Предварительно установите модуль memcache
Данная инструкция понадобится тем кто использует не просто хостинг, а выделенный или виртуальный сервер, администрирование которого осуществляется собственноручно.
Процедура установки memcached и PHP модуля memcache не займёт много времени.
Для начала обновим репозиторий
# apt-get update && apt-get upgrade
Теперь установим демон memcached и модуль memcache для PHP
# apt-get install memcached php5-memcache
Далее проверим запустился ли демон
# netstat -tap | grep memcached
tcp 0 0 localhost:11211 *:* LISTEN 21488/memcached
По умолчанию memcached слушает порт 11211 с IP:127.0.0.1 (localhost). Если вас не устраивают эти настройки, например вы хотите открыть доступ из внешнего IP, то нужно отредактировать файл настроек memcached — /etc/memcached.conf.
-l 127.0.0.1
этот параметр отвечает за IP адрес, который слушает демон memcached.
-m 64
параметр указывает сколько памяти выделить для кеширования в мегабайтах.
-p 11211
порт, который слушает демон memcached.
Также требуется перегрузить веб сервер для подключения модуля memcache
/etc/init.d/apache2 restart
Для подключения более быстрого типа кэширования с помощью memcache необходимо запросить параметры подключения к серверу у вашего хостинг-провайдера. Обратите внимание, не все хостинг-провайдеры поддерживают такую возможность, в некоторых случаях придется докупить специальный пакет услуг хостинга.
Если на хостниге вcе же настроен memcached вам должны сообщить два параметра:
Эти параметры необходимо ввести в разделе "Настройки"->"Кэширование".
Если вы используете один сервер кэширования для нескольких сайтов на Moguta.CMS, то необходимо прописать префикс, который будет подставляться к названию ключей кэширования, для разграничения информации. Это позволит избежать проблему с отображением одного и тогоже контента на разных сайтах.