Spec-Zone .ru
спецификации, руководства, описания, API

15.6.3.9. Используя memcached текстовый Протокол TCP

Передача с memcached сервером может быть достигнута или через TCP или через протоколы UDP. При использовании протокола TCP можно использовать простой текст базируемый интерфейс для обмена информацией.

Связываясь с memcached, можно соединиться с сервером, используя порт, сконфигурированный для сервера. Можно открыть соединение с сервером, не требуя авторизации или входа в систему. Как только Вы соединились, можно начать отправлять команды серверу. Когда Вы закончили, можно завершить соединение, не отправляя определенной команды разъединения. Клиенты поощряются сохранить свои соединения открытыми, чтобы уменьшить задержку и улучшить производительность.

Данные отправляются memcached сервер в двух формах:

И текстовые строки (команды и ответы) и неструктурированные данные всегда завершаются со строкой \r\n. Поскольку хранившие данные могут содержать эту последовательность, длину данных (возвращенный клиентом прежде, чем неструктурированные данные будут переданы, должен использоваться, чтобы определить конец данных.

Команды к серверу структурируются согласно их работе:

Для ссылки список различных поддерживаемых команд и их форматы обеспечивается ниже.

Таблица 15.2. Ссылка Команды memcached

Команда Форматы команды
set set key flags exptime length, set key flags exptime length noreply
add add key flags exptime length, add key flags exptime length noreply
replace replace key flags exptime length, replace key flags exptime length noreply
append append key length, append key length noreply
prepend prepend key length, prepend key length noreply
cas cas key flags exptime length casunique, cas key flags exptime length casunique noreply
get get key1 [key2 ... keyn]
gets
delete delete key, delete key noreply, delete key expiry, delete key expiry noreply
incr incr key, incr key noreply, incr key value, incr key value noreply
decr decr key, decr key noreply, decr key value, decr key value noreply
stat stat, stat name, statname value

Отправляя команду серверу, ответ от сервера является одной из настроек в следующей таблице. Все значения ответа от сервера завершаются \r\n:

Таблица 15.3. Ответы Протокола memcached

Строка Описание
STORED Значение успешно было сохранено.
NOT_STORED Значение не было сохранено, но не из-за ошибки. Для команд, где Вы добавляете a или обновляете значение, если он существует (такой как add и replace), или где элемент был уже установлен быть удаленным.
EXISTS При использовании a cas команда, элемент, который Вы пытаетесь сохранить уже, существует и была изменена, так как Вы длитесь, проверял это.
NOT_FOUND Элемент, который Вы пытаетесь сохранить, обновить или удалить, не существует или был уже удален.
ERROR Вы представили несуществующее название команды.
CLIENT_ERROR errorstring Была ошибка во входной строке, деталь содержится в errorstring.
SERVER_ERROR errorstring Была ошибка в сервере, который препятствует тому, чтобы она возвратила информацию. В экстремальных условиях сервер может разъединить клиент после того, как эта ошибка происходит.
VALUE keys flags length Требуемый ключ был найден, и сохраненное key, flags и блок данных возвращается, ofthe определенный length.
DELETED Требуемый ключ был удален из сервера.
STAT name value Строка данных статистики.
END Конец данных статистики.