
Сегодня я расскажу Вам о высокопроизводительной системе кеширования — Memcached. Итак, в данной статье я хочу рассмотреть следующие вопросы:
- Общая информация о Memcached
- Установка системы кеширования Memcached под Windows
- Использование Memcached на основе Zend Framework
Данная система кеширования, при грамотном ее использовании, может в разы ускорить Ваш веб-проект. Так что информация очень рекомендуется к прочтению…
Что такое Memcached?
Memcached — высокопроизводительная система кеширования данных в оперативной памяти компьютера, основывается на парадигме расспределенной хеш-таблицы.
Данная система может работать как с одним сервером, так и с несколькими серверами, равномерно распределяя между ними нагрузку. При переполнении памяти система автоматически очищает более старые записи кеша. Благодаря идеологии, при которой сбой сервера трактуется как промах кеша, повышается отказоустойчивость программы, позволяется горячая замена серверов, раскрываются новые возможности по наращиванию их количества.
Данный программный продукт имеет довольно внушительный список клиентских библиотек, написанных для наиболее популярных языков программирования. В связи с этим проект имеет довольно большую популярность среди профессионалов для разработки высоконагруженных проектов.
Memcached разрабатывался для сайта LiveJournal с целью снижения нагрузки на сервера баз данных. Разработчиком является компания Danga Interactive
Установка системы для базового использования, также довольно проста. Вы сейчас сами в этом убедитесь.
Установка Memcached под Windows
Установка системы состоит всего и нескольких простых шагов:
- Скачайте дистрибутив Memcached последней, стабильной версии
- Скачайте php extension
- Распакуйте дистрибутив в папку на Вашем веб-сервере и запустите файл memcached.exe -d install
- Запустите memcached сервер командой net start "memcached Server"
- Установите extension в PHP дописав в php.ini: extension=php_memcache.dll
- Проверьте правильность установки наличием упоминаний о Memcache в phpinfo()
Все, система готова к использованию. Вот и перейдем к рассмотрению этого вопроса.
Использование Memcached в связке с Zend_Cache
Как известно, Zend Framework предоставляет широкий выбор адаптеров для реализации системы кеширования веб-проектов, среди которых также есть и Memcached.
Сразу же приведу код, который наглядно иллюстрирует создание объекта Zend_Cache:
А далее — все зависит от Вашего фронтенда. Используете его точно также, как и с любым другим адаптером.
Итоги
При правильной программной реализации, грамотно настроенном Memcached и веб-сервере предполагается увеличение производительности до 400%!
Так, что господа, есть над чем задуматься и потрудится. Также в завершение, хочу опубликовать отличную презентацию, которую нашел в сети.


