Russian English German Ukrainian

Компьютерная помощь

(066) 72-00-654     (098) 44-74-068

г. Днепр

ж/м Левобережный-3

Memcached: установка, настройка в Debian/Ubuntu

debian ubuntu

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

Изначально разработанная создателями LiveJournal для собственных нужд, Memcached к настоящему моменту стала де-факто стандартом в области кэширования и используется огромным количеством высоконагруженных проектов, в том числе YouTube, Facebook, Twitter и многими другими.

Установка:

sudo apt-get install memcached php5-memcached

Далее проверим запустился ли демон:

netstat -tap | grep memcached
tcp 0 0 localhost:11211 *:* LISTEN 21488/memcached

Проверка с помощью ps:

ps -eaf | grep memcached

Результат:

nobody    2174     1  0 22:26 pts/0    00:00:00 /usr/bin/memcached -m 64 -p 11211 -u nobody -l 127.0.0.1
root      2227  1697  0 22:32 pts/0    00:00:00 grep memcached

Отредактируем конфиг, увеличим использование памяти с 64 мегабайт до 512 мегабайт. (при условии что у вас в системе больше 3гигабайт. Если меньше ставьте меньшее значение, например 128,256,384) И поменяем пользователя root на nobody.

sudo nano /etc/memcached.conf

Конфиг файл:

#Memcached будет работать, как демон
-d
#Лог будет складывать туда
logfile /var/log/memcached.log
#Отведём 512 мегабайт ОЗУ под хранилище
-m 512
#Слушать будет этот порт
-p 11211
#от какого пользователя запускать. тут не root для безопасности
-u nobody
#Слушаем localhost
-l 127.0.0.1

Edit the /etc/php5/fpm/php.ini file for Nginx and /etc/php5/apache2/php.ini for Apache to enable the extension and configure memcache. At minimum add the following lines:

[memcached]
extension=memcached.so
memcache.hash_strategy="consistent"

Перезапустим memcached и apache2

sudo /etc/init.d/memcached restart
sudo /etc/init.d/apache2 restart

Проверка работы memcached с помощью php скрипта. Создать файл mem.php и вставить скопированный скрипт:

<?php
$mc = new Memcached();
$mc->addServer("127.0.0.1", 11211);
 
$result = $mc->get("test_key");
 
if($result) {
  echo $result;
} else {
  echo "No data on Cache. Please refresh page pressing F5";
  $mc->set("test_key", "test data pulled from Cache!") or die ("Failed to save data at Memcached server");
}
?>
  • Сборка ПК для дома и офиса

  • Бесплатная диагностика

  • Гарантия

  • Самые низкие цены