Обзор систем кеширования в onPHP

Добрый день!
В этой статье мы расскажем о том, как мы работаем с кешем в plus1.wapstart.ru, какие проблемы у нас возникали и как мы решали некоторые частные случаи.

Для начала о терминологии.


Под «кешем» в этой статье я буду понимать какое-то быстрое хранилище, которое может использоваться, в том числе, и для кеширования. При этом хранилище должно обладать стандартизированным интерфейсом.
Сервер/хранилище — это какое-нибудь приложение, которое может хранить данные и давать к ним доступ по интерфейсу, который описан ниже. Например, этим приложением может быть memcached.

Мы используем фреймворк onPHP. В нем есть абстрактный класс CachePeer, от которого должны наследоваться все реализации кешей. Интерфейс любой реализации сводится к следующим методам.

		abstract public function get($key);
		abstract public function delete($key);
		
		abstract public function increment($key, $value);
		abstract public function decrement($key, $value);
		
		abstract protected function store(
			$action, $key, $value, $expires = Cache::EXPIRES_MEDIUM
		);
		
		abstract public function append($key, $data);

В нашем мире существуют следующие реализации CachePeer (кликабельно)

Читать дальше →

© Habrahabr.ru