Мой старт в интернет!

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

С помощью клиентской библиотеки для PHP обеспечивается кэширование данных в оперативной памяти из множества доступных серверов. Распределение реализуется путем сегментирования данных по значению хэша ключа по аналогии с сокетами хэш-таблицы. Клиентская библиотека, используя ключ данных, вычисляет хэш и использует его для выбора соответствующего сервера. Ситуация сбоя сервера трактуется как промах кэша, что позволяет повышать отказоустойчивость комплекса за счет наращивания количества memcached серверов и возможности производить их горячую замену.

Рассмотрим практическое применение memcached

Существуют билды клиентской библиотеки (php_memcache.dll) для Windows как для x86 так и для х64

Скачиваем архив с необходимым билдом клиентской библиотеки, извлекаем из него DLL во временную папку, переименовываем извлеченную DLL (если необходимо) в php_memcache.dll

Копируем php_memcache.dll в папку W:\usr\local\Php\ext

В файл W:\usr\local\Php\php.ini закомментируем строки

session.save_handler = files
session.save_path = "/tmp/sessions"

и добавляем строки

[memcache]
extension=php_memcache.dll
session.save_handler = memcache
session.save_path="tcp://localhost:11211?persistent=1&weight=1&timeout=1&retry_interval=15"

Уставливаем модуль memcached Server и активизируем его

В папке W:\www\localhost создаем файл memchd.php следующего содержания

<?php
   $memcache = new Memcache;
   $memcache->connect('localhost', 11211);
   echo 'memcached Server version '.$memcache->getVersion();
?>

Рестартуем Apache

mysrv restart apache

В строке адреса (URL) браузера вводим

http://localhost/memchd.php

Браузер отобразит версию используемого memcached Server’а

memcached Server имеет вэб-интерфейс просмотра кешированных данных. Для использования веб-интерфейса скачиваем архив и извлекаем из него файл memcache.php. Открываем файл текстовым редактором и в строках

define('ADMIN_USERNAME','memcache'); 	// Admin Username
define('ADMIN_PASSWORD','password');  	// Admin Password

прописываем имя пользователя и пароль

Заменяем строки

$MEMCACHE_SERVERS[] = 'mymemcache-server1:11211'; // add more as an array
$MEMCACHE_SERVERS[] = 'mymemcache-server2:11211'; // add more as an array

на

$MEMCACHE_SERVERS[] = 'localhost:11211';

Копируем файл memcache.php в папку W:\www\localhost и смотрим кешированные данные, набрав в браузере

http://localhost/memcache.php

Источник: Гугл и собственный опыт

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Для подтверждения, что вы не робот, решите задачу * Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.

WebMoney

Вы можете оказать посильную помощь на поддержку сайта и развитие проектов переводом средств на кошельки платежной системы WebMoney

Z325624025520
E360373898601
U279044372586
R180028144815

Комментарии

QR