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\nadd <key> <flags> <exptime> <bytes>\r\n - добавляет объект только в том случае, если объект с таким ключем не существовал.
Пример:
add ykey 7 60 5\r\n hello\r\nreplace <key> <flags> <exptime> <bytes>\r\n - изменяет значение у существующего объекта.
Пример:
replace xkey 5 60 6\r\n hello!\r\nget <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\ngets <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\ndecr <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 | Весёлые картинки | Наша галерея | Доска объявлений | Карта сайта | ПОИСК | ФОРУМ