PHP Shared Memory class
Класс для работы с различными видами разделяемой памяти
|
PHP Shared memory class
Текущая версия
Текущая, на данный момент версия — 0.1.0 от 21 сентября 2005. Её
автор — я, Евгений Степанищев. Мои координаты есть на сайте.
Что это?
Единый ОО-интерфейс для работы с различными модулями PHP4/PHP5, которые предоставляют доступ к разделяемой памяти.
Для создания объекта требуется вызвать фабрику с параметром в виде имени плагина (или оставить его пустым
для автоматического выбора), имена плагинов можно узнать, заглянув в папку SharedMemory.
Вторым параметром можно указать аргументы, которые будут переданы плагину.
Возможности
Библиотека поддерживает следующие модули:
- eAccelerator [»»]
- Turck MMCache [»»]
- APC [»»]
- Shmop [»»]
- Apache Notes [»»]
- Memcached [»»]
- System V (имена переменных до 4х символов) [»»]
- SQLite (база данных создаётся в памяти) [»»]
- Sharedance [»»]
- File (данные хранятся в файлах)
Использование
Библиотека представляет из себя фабрику (Factory) с подключаемыми плагинами. Доступны следующие функции:
&factory($type = false, $options = array()))
Создаёт экземпляр класса плагина (см. пример использования).
Параметры разнятся для разных модулей. Многие модули не имеют параметров (в скобках указаны значения по умолчанию)
- shmop и systemv: size (1048576 байт) — размер выделяемой памяти
- file: tmp (/tmp) — имя папки, где будет создан файл
- memcache: host (localhost) — имя хоста, где установлен демон Memcache, port (11211) — номер порта, timeout (не задан) — таймаут соединения
- sharedance: host (127.0.0.1) — имя хоста, где установлен демон Sharedance, port (1042) — номер порта, timeout (10) — таймаут соединения
getAlaivableTypes() — возвращает список (массив) типов разделяемой памяти, доступных в системе
Функции плагина:
engineName()
Возвращает имя текущего используемого плагина
isConnected()
Возврашает true, если удалось соединиться с backend (например, в случае Memcached)
set($name, $value, $ttl = 0)
Задать значение переменной. У некоторых модулей есть возможность задать время жизни объекта
в памяти (необязательный параметр $ttl)
get($name)
Получить значение переменной
rm($name)
Удалить переменную из памяти
Пример использования
<?
include_once 'System/SharedMemory.php';
$Shared =& System_SharedMemory::factory();
$Shared->set('name', 'something');
echo $Shared->get('name');
$Shared->rm('name');
?>
Скачать
Скачать библиотеку в формате PEAR: System_SharedMemory-0.1.0.tgz ( байт)
Посмотреть исходный код: список файлов
|
Состав архива