# Memcached

Memcached — высокопроизводительная система хранения данных в оперативной памяти сервера, которую обычно применяют при повышенной нагрузке на MySQL и дисковую подсистему.

Высокая производительность кэширования достигается благодаря хранению всех данных в оперативной памяти: для доступа к ним не нужно обращаться к дисковой подсистеме. На Джино Memcached развёрнута на отдельных серверах, подключённых к серверам пользовательских сайтов гигабитной сетью. Это обеспечивает высокую скорость доступа к кэшу без нагрузки на ресурсы основных серверов.

После подключения услуги Memcached нужно будет настроить ваш скрипт или движок сайта.

# Соединение с сервером Memcached

Для подключения к Memcached используйте IP-адрес и порт, указанные в разделе Управление — Техническая информация.

Рассмотрим примеры подключения к Memcached.

  • PHP:
<?php
$m = new Memcache;
$m->connect(
    12.34.56.78,
    port_number
);
$m->set('key', 'value');
echo $m->get('key');
?>
  • Python:
import memcache
m = memcache.Client([
    12.34.56.78
])
m.set('key', 'value')
print m.get('key')
  • Perl:
use Cache::Memcached;
my $m = Cache::Memcached->new({servers => [
    12.34.56.78
]});
$m->set('key', 'value');
print $m->get('key');

# Использование Memcached на CMS

# Memcached на Joomla!

Чтобы подключить Memcached-сервер к вашему сайту на Joomla!, в панели администрирования в разделе SystemGlobal Configuration зайдите на вкладку System. В части Cache Settings укажите следующие параметры:

  • Cache Settings — Memcached;
  • Platform Specific Caching — No;
  • Cache Time — нужное время кэширования в минутах (по умолчанию установлено 15 минут);
  • Memcache(d) Server Hostlocalhost;
  • Memcache(d) Server Port — 0.

# Memcached на 1С-Битрикс

Подключение Memcached-сервера к сайтам на 1С-Битрикс отличается в зависимости от версий ядра CMS.

# 1С-Битрикс с версией ядра 14 и выше

Для подключения Memcached-сервера к CMS 1С-Битрикс с версией ядра выше 14 необходимо создйть файл bitrix/.settings_extra.php со следующим содержанием:

<?php
return array(
  'cache' => array(
    'value' => array(
      'type' => 'memcache',
      'memcache' => array(
        'host' => 'unix:///home/usersX/первая_буква_логина/логин/memcached/memcached.sock',
        'port' => '0',
      ),
      'sid' => $_SERVER["DOCUMENT_ROOT"]."#01"
    ),
  ),
);
?>

X в имени директории usersX может быть целым числом (1, 2, ...) или вообще отсутствовать. Точное значение для вашего аккаунта указано в разделе УправлениеТехническая информация.

# 1С-Битрикс с версией ядра ниже 14

Для подключения Memcached-сервера к CMS 1С-Битрикс с версией ядра ниже 14 необходимо выполнить следующие действия:

  1. Откройте для редактирования файл bitrix/php_interface/dbconn.php и добавьте в него следующие строки:

    define("BX_CACHE_TYPE", "memcache");
    define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#01");
    define("BX_MEMCACHE_HOST",
        "unix:///home/usersX/первая_буква_логина/логин/memcached/memcached.sock");
    define("BX_MEMCACHE_PORT", "0");
    

    X в имени директории usersX может быть целым числом (1, 2, ...) или вообще отсутствовать. Точное значение для вашего аккаунта указано в разделе УправлениеТехническая информация.

  2. Войдите в административный интерфейс 1С-Битрикс и перейдите в раздел Рабочий столНастройкиПроизводительностьПанель производительности. Во вкладке Битрикс настройка Хранение кеша должна принять значение «memcache».

# Memcached на WordPress

В CMS WordPress нет встроенной поддержки Memcached — она реализована с помощью специальных плагинов, которые можно установить через административный интерфейс WordPress.

IP и порт Memcached-сервера, которые нужно указывать при настройке плагинов, можно узнать в разделе УправлениеТехническая информация.