Недокументированный Memcached-2

У модуля Мемкешед для ПХП удивительно плохо с документацией, я иногда заглядываю в его исходники, с целью почитать. Недавно наткнулся на очередную опцию, описания которой в документации нет (причём в документации аналогичного модуля для Пайтона она есть).

Оказываются UDP не единственный способ ускорить работу с Мемкешед, если вам скорость важнее результата операции. Способ хорош тем, что используется протокол TCP (т.е. с гарантированной доставкой), но мы не ждём — нам главное, что кеш-сервер переданное получил, а получилось ли записать — дело десятое.

Посмотрите на пример и обратите внимание на опцию OPT_NOREPLY.
$m = new Memcached;
$m->addServer(0, 11211);

$val = str_repeat(file_get_contents('/etc/passwd'), 200);

$m->set('key', $val);
$m->setOption(Memcached::OPT_NOREPLY, true);
$m->setOption(Memcached::OPT_COMPRESSION, false);

$time = microtime(true);
$m->append('key', $val);
echo number_format(microtime(true) - $time, 4, ',', ''), "\n";
Кстати, такое большое (как в примере) значение мне потом обратно прочитать не удалось, видимо превысил какие-то лимиты, так что оно здесь просто для иллюстрации и чтобы разница в задержке была очевидней. Без ключа операция append у меня заняла 0,0407 секунд, с ним — 0,0013.

Интересно, что можно делать несколько операций append подряд, очерёдность их сохраняется, корректность прочитанного — тоже. Вот только непонятно не может ли чтение получить данные между двумя append, скорее всего — может, но этот способ как раз для случаев, когда на первом месте скорость записи к кеш.
17 сентября 2014 07:18

cczy (cczy.livejournal.com)
18 сентября 2014, 23:06

"превысил какие-то лимиты"

А в Сети разве нельзя найти более подробное описание/документацию, если в hard copy инструкции ничего не сказано об ограничениях?

Влад Никольский
Новороссийск

Евгений Степанищев (bolknote.ru)
19 сентября 2014, 06:41, ответ предназначен cczy (cczy.livejournal.com):

Сказано, наверное, только мне это не нужно. Запись объёмом в мегабайт хранить в кеше — сомнительная идея, на мой взгляд.

Евгений Степанищев (bolknote.ru)
19 сентября 2014, 06:43, ответ предназначен cczy (cczy.livejournal.com):

Под «кешем» я тут Мемкешед имею ввиду.

http://cczy.livejournal.com/ (инкогнито)
20 сентября 2014, 16:03

Ага, понял. Спасибо за ответ.
Честно говоря, я не особый специалист, а просто интересующийся. Учусь на том, что нахожу в Сети.

Прошу прощенья, получается новый коммент. Не нашёл ссылку как ответить на ваш коммент.

Влад Никольский
Новороссийск

Евгений Степанищев (bolknote.ru)
20 сентября 2014, 17:58, ответ предназначен http://cczy.livejournal.com/

Это и есть способ ответить на коммент.

Ваше имя или адрес блога (можно OpenID):

Текст вашего комментария, не HTML:

Кому бы вы хотели ответить (или кликните на его аватару)