Memcached - это основная система кэшировния памяти,
предназначенная для интернет ресурсов, которые используют одни и те же данные по
многу раз, эти данные заносятся в RAM для того, чтобы уменьшить время доступа к
данным. Memcached предоставляет большую таблицу хэшей(которые могут быть
расспространены среди многих машин).
Memcached использует client-server архитектуру.
Сервера хранят данные в виде ключ-значение (ключ размером до 250 bytes и значение ключа до 1 MB в размерах), запрос значения кешированных данных проходит
по ключу.
В этой статье я покажу, как
установить на CentOS 5.6 с исходных
кодов.
Скачиваем
и расспаковываем необходимые RPM пакеты
Зарегистрируйтесь в системе под
пользователем root и перейдите в директорию и загрузите следующие RPM пакеты:
cd /usr/src wget http://www.monkey.org/~provos/libevent-2.0.10-stable.tar.gz tar –zxvf libevent-2.0.10-stable.tar.gz wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz tar -zxvf memcached-1.4.5.tar.gz wget http://pecl.php.net/get/memcache-2.2.6.tgz tar -zxvf memcache-2.2.6.tgz
Установка
Libevent
cd /usr/src/libevent-2.0.10-stable ./configure make make install
Установка
сервера Memcached
./configure make make install
Проверяем
правильность установки (для 64 bit)
Проверте, если не работает
необходимо добавить симольную ссылку.
memcached –h ln –s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5
Запускаем
сервер Memcached
memcached -d -u nobody -m 1024 -l 127.0.0.1 -p 11000Установим клиент Memcache
cd /usr/src/memcache-2.2.6 phpize ./configure make make installПерезапустим Apache
service httpd restartПроверочный PHP код
<?php function get_userinfo() { $user = array( 'login' => 'viktor', 'pass' => 'password' ); return $user; } $memcache = new Memcache; $memcache->connect('localhost', 11000); $user_object = $memcache->get('user'); if (! $user_object) { $user_object = get_userinfo(); $memcache->set('user', $user_object, false, 30); echo 'Stored data in the cache (data will expire in 30 seconds)'; } else { echo 'Data retrieved from cache'; } ?>
Перевод статьи с блога
Код не заработал пока я не установил PECL и библиотеку memcache c PECL.
ОтветитьУдалить