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 ( байт)
    Посмотреть исходный код: список файлов
    С уважением,
    Евгений Степанищев
    http://bolknote.ru/