MemCache для OS/2


Предлагаем вашему вниманию сервер MemCache для OS/2. Это клон оригинальной программы для unix-подобных OC. Управление сервером производится через стек TCP/IP по простейшему протоколу. Программа слушает 12112 порт либо любой другой порт по вашему выбору. Чтобы указать порт для MemC2 отредактируйте файл x:\MPTN\ETC\SERVICES. В соответствующее место необходимо добавить строку:

memcached	12112/tcp  #memcached
Обратите внимание, что строки в SERVICES отсортированы по номерам портов.

Скачать (Download)

MemC2 0.03a
В комплект входит:
memc2.exe - исполняемый файл сервера MemCache
mca.php - тестовый файл позволяющий добавить объект в сервер MemCache.
mcv.php - тестовый файл позволяющий отобразить добавленное значение на экране браузера.
memcache.lib.php - простая библиотека php, позволяющая обращаться к серверу MemCache из php.
addmemc.CMD - Пример использования MemCache на Rexx.
Внимание!
Для использования примеров на php у вас должен быть установлен Apache с поддержкой PHP.
В первых строчках memcache.lib.php укажите на каком хосте и порту находится ваш сервер MemCache.

$MEMCACHE_SERVER['host'] = 'localhost';
$MEMCACHE_SERVER['port'] = '12112'; 

Система команд

Система команд сервера соотвествует подмножеству используемому аналогом. После открытия соединения сервер сразу ожидает команду от клиента. Возможны следующие команды:
set <key> <flags> <exptime> <bytes>\r\n - записывает в память объект
<key> - уникальный алфавитно-цифровой ключ длино до 250 символов.
<flags> - целое положительное десятичное число (не более 65535).
<exptime> - время, которое предполагается хранить объект в памяти. Целое десятичное число в секундах. Т.е. если хранить объект следует 1 час, то должно быть указано 3600. Поддерживаются сроки хранения в 30 дней.
<bytes> - целое положительное десятичное число. Указывает длину объекта в байтах не включая последние \r\n.
После строки с командой, система ожидает блок данных с указанной длиной. <data block>\r\n
Внимание! Символы \r\n в конце блока данных обязательны! Последние два символа \r\n не включаются в длину блока данных!
\r сотвествует коду #13
\n сотвествует коду #10
Пример:

set xkey 5 60 5\r\n
hello\r\n
add <key> <flags> <exptime> <bytes>\r\n - добавляет объект только в том случае, если объект с таким ключем не существовал.
Пример:
add ykey 7 60 5\r\n
hello\r\n
replace <key> <flags> <exptime> <bytes>\r\n - изменяет значение у существующего объекта.
Пример:
replace xkey 5 60 6\r\n
hello!\r\n
get <key>*\r\n - выдает запрашиваемые объекты.
<key>* - список ключей, разделенный пробелом.
Формат ответа:
VALUE <key> <flags> <bytes>\r\n
<data block>\r\n ...
VALUE <key> <flags> <bytes>\r\n
<data block>\r\n
END
На каждый найденный и не просроченный ключ будет выдан блок данных.
Пример:
get xkey ykey\r\n
VALUE xkey 5 6\r\n 
hello!\r\n
VALUE ykey 7 5\r\n 
hello\r\n
gets <key>*\r\n - полностью анологично команде get.
delete <key>\r\n - удаляет указанный ключ.
incr <key> <value>\r\n - если ключ имеет цифровое значение, то увеличивает его на <value> единиц.
Пример:
set zkey 0 120 2\r\n
10\r\n
STORED\r\n
incr zkey 5\r\n
15\r\n
decr <key> <value>\r\n - если ключ имеет цифровое значение, то уменьшает его на <value> единиц.
Пример:
decr zkey 6\r\n
9\r\n

(с) Igor Vaskov


Интересные ссылки:
Комментариев к странице: 0 | Добавить комментарий
Домой | Проект ядро Core/2 | Проект OS/4 Download | Новости | Гостевая книга | Подробно обо всем | Нужные программы | Проекты | OS/2 FAQ | Всячина | За и Против | Металлолом | #OS2Russian | RDM/2 | Весёлые картинки | Наша галерея | Доска объявлений | Карта сайта | ПОИСК | ФОРУМ