git-svn-id: https://svn.php.net/repository/phpdoc/ru/trunk@342641 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
Andrey Gromov
2017-07-03 12:19:38 +00:00
parent 8fd14ed6e4
commit cadfa2d4f5
5 changed files with 839 additions and 0 deletions

View File

@ -0,0 +1,122 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: af4410a7e15898c3dbe83d6ea38246745ed9c6fb Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<chapter xml:id="memcached.callbacks" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Функции обратного вызова</title>
<section xml:id="memcached.callbacks.result">
<title>Функции обратного вызова для результирующего набора</title>
<para>
Функции обратного вызова для результирующего набора вызываются
методами <methodname>Memcached::getDelayed</methodname> или
<methodname>Memcached::getDelayedBykey</methodname> для каждого
элемента из результирующего набора. Функциям обратного вызова
передаются объект Memcached и массив с информацией об элементе. Эти
функции не должны ничего возвращать.
</para>
<example>
<title>Пример функции обратного вызова</title>
<programlisting role="php">
<![CDATA[
<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$items = array(
'key1' => 'value1',
'key2' => 'value2',
'key3' => 'value3'
);
$m->setMulti($items);
$m->getDelayed(array('key1', 'key3'), true, 'result_cb');
function result_cb($memc, $item)
{
var_dump($item);
}
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
array(3) {
["key"]=>
string(4) "key1"
["value"]=>
string(6) "value1"
["cas"]=>
float(49)
}
array(3) {
["key"]=>
string(4) "key3"
["value"]=>
string(6) "value3"
["cas"]=>
float(50)
}
]]>
</screen>
</example>
</section>
<section xml:id="memcached.callbacks.read-through">
<title>Функции обратного вызова сквозного чтения кеша</title>
<para>
Данные функции вызываются в случае, когда невозможно получить запрошенное значение.
В функцию обратного вызова передается объект Memcached и запрошенный ключ, а так же
передается по ссылке переменная для возврата значения. Функция должна вернуть
&false; или &true;. Если &true;, то Memcached сохранит полученное значение и вернет
его оригинальной функции. Данные функции обратного вызова используются только с
<methodname>Memcached::get</methodname> и
<methodname>Memcached::getByKey</methodname>, так как протокол не предоставляет
информации о том, какие ключи не найдены, при пакетных запросах.
</para>
<example>
<title>Пример использования</title>
<programlisting role="php">
<![CDATA[
<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$profile_info = $m->get('user:'.$user_id, 'user_info_cb');
function user_info_cb($memc, $key, &$value)
{
$user_id = substr($key, 5);
/* ищем необходимые данные в БД */
/* ... */
$value = $profile_info;
return true;
}
?>
]]>
</programlisting>
</example>
</section>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@ -0,0 +1,505 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: af4410a7e15898c3dbe83d6ea38246745ed9c6fb Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<appendix xml:id="memcached.constants" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.constants;
&extension.constants;
<variablelist>
<varlistentry xml:id="memcached.constants.opt-compression">
<term><constant>Memcached::OPT_COMPRESSION</constant></term>
<listitem>
<para>Разрешает или запрещает сжатие данных. Если разрешено, то записи длинее
определенного порога (обычно 100 байт) будут прозрачно сжиматься при сохранении и
разжиматься при извлечении.</para>
<para>Тип: <literal>boolean</literal>, по умолчанию: &true;.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.opt-serializer">
<term><constant>Memcached::OPT_SERIALIZER</constant></term>
<listitem>
<para>
Задает сериализатор для сериализации не скалярных значений.
Корректными значениями являются <constant>Memcached::SERIALIZER_PHP</constant>
и <constant>Memcached::SERIALIZER_IGBINARY</constant>. Последний допустим только
если memcached собран с опцией
<literal>--enable-memcached-igbinary</literal> и загружено расширение
<literal>igbinary</literal>.
</para>
<para>Тип: <literal>integer</literal>, по умолчанию: <constant>Memcached::SERIALIZER_PHP</constant>.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.serializer-php">
<term><constant>Memcached::SERIALIZER_PHP</constant></term>
<listitem>
<para>Сериализатор PHP по умолчанию.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.serializer-igbinary">
<term><constant>Memcached::SERIALIZER_IGBINARY</constant></term>
<listitem>
<para>Сериализатор <link xlink:href="&url.igbinary;">igbinary</link>.
Вместо текстового представления он сохраняет данные в компактном бинарном
формате, что дает выйгрыш в размере и скорости работы.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.serializer-json">
<term><constant>Memcached::SERIALIZER_JSON</constant></term>
<listitem>
<para>Сериализатор JSON. Требуется PHP 5.2.10+.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.opt-prefix-key">
<term><constant>Memcached::OPT_PREFIX_KEY</constant></term>
<listitem>
<para>Используется для создания "домена" для ваших ключей. Заданное здесь
значение будет использоваться в качестве префикса для всех ключей. Значение
не может быть длинее <literal>128</literal> символов и, соответственно, максимальная
длина ключей будет уменьшена. Префикс применяется только для обычных ключей, но
не для серверных ключей.</para>
<para>Тип: <literal>string</literal>, по умолчанию: <literal>""</literal>.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.opt-hash">
<term><constant>Memcached::OPT_HASH</constant></term>
<listitem>
<para>Задает алгоритм хеширования для ключей. Можно задавать константами
<constant>Memcached::HASH_*</constant>. Каждый алгоритм хеширования имеет
свои достоинства и недостатки. Используйте значение по умолчанию, если не уверены
или вам все равно.</para>
<para>Тип: <literal>integer</literal>, по умолчанию: <constant>Memcached::HASH_DEFAULT</constant></para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.hash-default">
<term><constant>Memcached::HASH_DEFAULT</constant></term>
<listitem>
<para>Алгоритм хеширования ключей по умолчанию (Jenkins one-at-a-time).</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.hash-md5">
<term><constant>Memcached::HASH_MD5</constant></term>
<listitem>
<para>Алгоритм хеширования ключей MD5.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.hash-crc">
<term><constant>Memcached::HASH_CRC</constant></term>
<listitem>
<para>Алгоритм хеширования ключей CRC.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.hash-fnv1-64">
<term><constant>Memcached::HASH_FNV1_64</constant></term>
<listitem>
<para>Алгоритм хеширования ключей FNV1_64.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.hash-fnv1a-64">
<term><constant>Memcached::HASH_FNV1A_64</constant></term>
<listitem>
<para>Алгоритм хеширования ключей FNV1_64A.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.hash-fnv1-32">
<term><constant>Memcached::HASH_FNV1_32</constant></term>
<listitem>
<para>Алгоритм хеширования ключей FNV1_32.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.hash-fnv1a-32">
<term><constant>Memcached::HASH_FNV1A_32</constant></term>
<listitem>
<para>Алгоритм хеширования ключей FNV1_32A.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.hash-hsieh">
<term><constant>Memcached::HASH_HSIEH</constant></term>
<listitem>
<para>Алгоритм хеширования ключей Hsieh.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.hash-murmur">
<term><constant>Memcached::HASH_MURMUR</constant></term>
<listitem>
<para>Алгоритм хеширования ключей Murmur.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.opt-distribution">
<term><constant>Memcached::OPT_DISTRIBUTION</constant></term>
<listitem>
<para>Задает способ распределения ключей по серверам.
В данный момент поддерживаются методы модульного и консистентного
хеширования. Консистентное хеширование дает лучшее распределение и
позволяет добавлять сервера в кластер с минимальными потерями кеша.</para>
<para>Тип: <literal>integer</literal>, по умолчанию: <constant>Memcached::DISTRIBUTION_MODULA.</constant></para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.distribution-modula">
<term><constant>Memcached::DISTRIBUTION_MODULA</constant></term>
<listitem>
<para>Модульный алгоритм распределения ключей.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.distribution-consistent">
<term><constant>Memcached::DISTRIBUTION_CONSISTENT</constant></term>
<listitem>
<para>Алгоритм распределения ключей "Консистентное хеширование" (базируется на libketama).</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.opt-libketama-compatible">
<term><constant>Memcached::OPT_LIBKETAMA_COMPATIBLE</constant></term>
<listitem>
<para>Включает или отключает совместимость с поведением типа libketama. Если
включено, то алгоритм хеширования ключей устанавливается в MD5 и распределение
ключей в режим консистентного хеширования на базе весов. Это полезно потому, что
другие клиенты с поведением типа libketama (Python, Ruby и т.д.) с такими же
настройками сервера смогут получить прозрачный доступ к ключам.
</para>
<note>
<para>
Крайне рекомендуется включить эту опцию если вы хотите использовать
консистентное хеширование. Кроме того, она может быть включена по умолчанию в
следующих релизах.
</para>
</note>
<para>Тип: <literal>boolean</literal>, по умолчанию: &false;.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.opt-buffer-writes">
<term><constant>Memcached::OPT_BUFFER_WRITES</constant></term>
<listitem>
<para>Включает или отключает буферизованный ввод/вывод. Включение буферизации
приводит к буферизации команд хранилищу вместо моментальной отправки.
Любое действие по извлечению данных приведет к немедленной отправке буфера
на удаленный сервер. Выход или закрытие соединения также приводит к
немедленной отправке буфера.</para>
<para>Тип: <literal>boolean</literal>, по умолчанию: &false;.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.opt-binary-protocol">
<term><constant>Memcached::OPT_BINARY_PROTOCOL</constant></term>
<listitem>
<para>Включает использование бинарного протокола. Учтите, что на уже открытом
соединении включить данную опцию не получится.</para>
<para>Тип: <literal>boolean</literal>, по умолчанию: &false;.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.opt-no-block">
<term><constant>Memcached::OPT_NO_BLOCK</constant></term>
<listitem>
<para>Включает или отключает асинхронный ввод/вывод. Это самый быстрый транспорт
для функций хранения.</para>
<para>Тип: <literal>boolean</literal>, по умолчанию: &false;.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.opt-tcp-nodelay">
<term><constant>Memcached::OPT_TCP_NODELAY</constant></term>
<listitem>
<para>Включает или отключает опцию no-delay для сокетов соединения (в некоторых
случаях может дать прирост скорости).</para>
<para>Тип: <literal>boolean</literal>, по умолчанию: &false;.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.opt-socket-send-size">
<term><constant>Memcached::OPT_SOCKET_SEND_SIZE</constant></term>
<listitem>
<para>Максимальный размер буфера отправки для сокета в байтах.</para>
<para>Тип: <literal>integer</literal>, по умолчанию: зависит от настроек платформы/ядра.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.opt-socket-recv-size">
<term><constant>Memcached::OPT_SOCKET_RECV_SIZE</constant></term>
<listitem>
<para>Максимальный размер буфера приема для сокета в байтах.</para>
<para>Тип: <literal>integer</literal>, по умолчанию: зависит от настроек платформы/ядра.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.opt-connect-timeout">
<term><constant>Memcached::OPT_CONNECT_TIMEOUT</constant></term>
<listitem>
<para>В неблокирующем режиме задает таймаут соединения для сокета в миллисекундах.</para>
<para>Тип: <literal>integer</literal>, по умолчанию: <literal>1000</literal>.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.opt-retry-timeout">
<term><constant>Memcached::OPT_RETRY_TIMEOUT</constant></term>
<listitem>
<para>Задержка в секундах перед попыткой повторного соединения после ошибки.</para>
<para>Тип: <literal>integer</literal>, по умолчанию: <literal>0</literal>.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.opt-send-timeout">
<term><constant>Memcached::OPT_SEND_TIMEOUT</constant></term>
<listitem>
<para>Таймаут отправки для сокета в миктосекундах. В случаях, когда вы не можете
использовать неблокирующий ввод/вывод это поможет вам сохранить таймауты при
отсылке данных.</para>
<para>Тип: <literal>integer</literal>, по умолчанию: <literal>0</literal>.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.opt-recv-timeout">
<term><constant>Memcached::OPT_RECV_TIMEOUT</constant></term>
<listitem>
<para>Таймаут чтения для сокета в миктосекундах. В случаях, когда вы не можете
использовать неблокирующий ввод/вывод это поможет вам сохранить таймауты при
чтении данных.</para>
<para>Тип: <literal>integer</literal>, по умолчанию: <literal>0</literal>.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.opt-poll-timeout">
<term><constant>Memcached::OPT_POLL_TIMEOUT</constant></term>
<listitem>
<para>Период опроса сокета в миллисекундах.</para>
<para>Тип: <literal>integer</literal>, по умолчанию: <literal>1000</literal>.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.opt-cache-lookups">
<term><constant>Memcached::OPT_CACHE_LOOKUPS</constant></term>
<listitem>
<para>Разрешает или запрещает кешировать результаты запросов к DNS.</para>
<para>Тип: <literal>boolean</literal>, по умолчанию: &false;.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.opt-server-failure-limit">
<term><constant>Memcached::OPT_SERVER_FAILURE_LIMIT</constant></term>
<listitem>
<para>Задает максимальное количество неудачных попыток соединиться с сервером.
После достижения этого предела сервер будет удален.</para>
<para>Тип: <literal>integer</literal>, по умолчанию: <literal>0</literal>.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.have-igbinary">
<term><constant>Memcached::HAVE_IGBINARY</constant></term>
<listitem>
<para>Указывает, доступна ли поддержка сериализатора igbinary.</para>
<para>Тип: <literal>boolean</literal>.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.have-json">
<term><constant>Memcached::HAVE_JSON</constant></term>
<listitem>
<para>Указывает, доступна ли поддержка сериализатора JSON.</para>
<para>Тип: <literal>boolean</literal>.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.get-preserve-order">
<term><constant>Memcached::GET_PRESERVE_ORDER</constant></term>
<listitem>
<para>Флаг для <function>Memcached::getMulti</function> и
<function>Memcached::getMultiByKey</function> для гарантированного
возвращения ключей в том же порядке, как они были запрошены. Несуществующие
ключи будут возвращены со значениями &null;.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.res-success">
<term><constant>Memcached::RES_SUCCESS</constant></term>
<listitem>
<para>Операция прошла успешно.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.res-failure">
<term><constant>Memcached::RES_FAILURE</constant></term>
<listitem>
<para>Операция завершилась ошибкой.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.res-host-lookup-failure">
<term><constant>Memcached::RES_HOST_LOOKUP_FAILURE</constant></term>
<listitem>
<para>Ошибка запроса к DNS.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.res-unknown-read-failure">
<term><constant>Memcached::RES_UNKNOWN_READ_FAILURE</constant></term>
<listitem>
<para>Не удалось прочитать сетевые данные.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.res-protocol-error">
<term><constant>Memcached::RES_PROTOCOL_ERROR</constant></term>
<listitem>
<para>Некорректная команда в протоколе memcached.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.res-client-error">
<term><constant>Memcached::RES_CLIENT_ERROR</constant></term>
<listitem>
<para>Ошибка на стороне клиента.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.res-server-error">
<term><constant>Memcached::RES_SERVER_ERROR</constant></term>
<listitem>
<para>Ошибка на стороне сервера.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.res-write-failure">
<term><constant>Memcached::RES_WRITE_FAILURE</constant></term>
<listitem>
<para>Не удалось записать сетевые данные.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.res-data-exists">
<term><constant>Memcached::RES_DATA_EXISTS</constant></term>
<listitem>
<para>Не удалось сравнить-и-обменять: вы пытаетесь изменить элемент, который
был изменен после того, как вы его прочитали в последний раз.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.res-notstored">
<term><constant>Memcached::RES_NOTSTORED</constant></term>
<listitem>
<para>Элемент не сохранен: но не из-за ошибки. Обычно такое означает, что
не соблюдены предусловия команд "add" или "replace" либо что
элемент находится в очереди на удаление.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.res-notfound">
<term><constant>Memcached::RES_NOTFOUND</constant></term>
<listitem>
<para>Элемент с заданным ключем не найден (при операциях "get" или "cas").</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.res-partial-read">
<term><constant>Memcached::RES_PARTIAL_READ</constant></term>
<listitem>
<para>Частичная ошибка чтения сетевых данных.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.res-some-errors">
<term><constant>Memcached::RES_SOME_ERRORS</constant></term>
<listitem>
<para>Какие-то ошибки возникли при мульти-запросе.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.res-no-servers">
<term><constant>Memcached::RES_NO_SERVERS</constant></term>
<listitem>
<para>Список серверов пуст.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.res-end">
<term><constant>Memcached::RES_END</constant></term>
<listitem>
<para>Конец результирующего набора.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.res-errno">
<term><constant>Memcached::RES_ERRNO</constant></term>
<listitem>
<para>Системная ошибка.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.res-buffered">
<term><constant>Memcached::RES_BUFFERED</constant></term>
<listitem>
<para>Операция помещена в буфер.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.res-timeout">
<term><constant>Memcached::RES_TIMEOUT</constant></term>
<listitem>
<para>Превышен таймаут операции.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.res-bad-key-provided">
<term><constant>Memcached::RES_BAD_KEY_PROVIDED</constant></term>
<listitem>
<para>Некорректный ключ.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.res-connection-socket-create-failure">
<term><constant>Memcached::RES_CONNECTION_SOCKET_CREATE_FAILURE</constant></term>
<listitem>
<para>Не удалось создать сетевой сокет.</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcached.constants.res-payload-failure">
<term><constant>Memcached::RES_PAYLOAD_FAILURE</constant></term>
<listitem>
<para>Проблемы с данными: не удается сжать/расжать или сериализовать/десериализовать значение.</para>
</listitem>
</varlistentry>
</variablelist>
</appendix>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: af4410a7e15898c3dbe83d6ea38246745ed9c6fb Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<phpdoc:classref xml:id="class.memcached" xmlns:phpdoc="http://php.net/ns/phpdoc" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Класс Memcached</title>
<titleabbrev>Memcached</titleabbrev>
<partintro>
<!-- {{{ Memcached intro -->
<section xml:id="memcached.intro">
&reftitle.intro;
<para>
Представляет соединение к набору серверов memcached.
</para>
</section>
<!-- }}} -->
<section xml:id="memcached.synopsis">
&reftitle.classsynopsis;
<!-- {{{ Synopsis -->
<classsynopsis>
<ooclass><classname>Memcached</classname></ooclass>
<!-- {{{ Class synopsis -->
<classsynopsisinfo>
<ooclass>
<classname>Memcached</classname>
</ooclass>
</classsynopsisinfo>
<!-- }}} -->
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.memcached')/db:refentry/db:refsect1[@role='description']/descendant::db:constructorsynopsis[1])" />
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.memcached')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[1])" />
</classsynopsis>
<!-- }}} -->
</section>
</partintro>
&reference.memcached.entities.memcached;
</phpdoc:classref>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@ -0,0 +1,77 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 7e39bbe13d2efaa73423ea16ad6ecf2fa4d13217 Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<phpdoc:classref xml:id="class.memcachedexception" xmlns:phpdoc="http://php.net/ns/phpdoc" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Класс MemcachedException</title>
<titleabbrev>MemcachedException</titleabbrev>
<partintro>
<!-- {{{ MemcachedException intro -->
<section xml:id="memcachedexception.intro">
&reftitle.intro;
<para>
</para>
</section>
<!-- }}} -->
<section xml:id="memcachedexception.synopsis">
&reftitle.classsynopsis;
<!-- {{{ Synopsis -->
<classsynopsis>
<ooclass><classname>MemcachedException</classname></ooclass>
<!-- {{{ Class synopsis -->
<classsynopsisinfo>
<ooclass>
<classname>MemcachedException</classname>
</ooclass>
<ooclass>
<modifier>extends</modifier>
<classname>RuntimeException</classname>
</ooclass>
</classsynopsisinfo>
<!-- }}} -->
<classsynopsisinfo role="comment">&InheritedProperties;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('exception.synopsis')/descendant::db:fieldsynopsis)" />
<classsynopsisinfo role="comment">&InheritedMethods;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.exception')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[1])" />
</classsynopsis>
<!-- }}} -->
</section>
</partintro>
</phpdoc:classref>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View File

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: af4410a7e15898c3dbe83d6ea38246745ed9c6fb Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<chapter xml:id="memcached.sessions" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Поддержка сессий</title>
<para>Memcached предоставляет собственный обработчик сессий, который можно
использовать для хранения сессионных переменных в memcache. Для этого
используется полностью отдельный экземпляр memcached, поэтому при необходимости вы
можете использовать другой пул серверов. Ключи сессии хранятся с префиксом
<literal>memc.sess.key.</literal>, так что имейте это в виду, если будете использовать
для сессий и обычного кеширования один и тот же пул серверов.</para>
<para>
<variablelist>
<varlistentry xml:id="memcache.sessions.save-handler">
<term>
<parameter>session.save_handler</parameter>
<type>string</type>
</term>
<listitem>
<para>
Установите для <literal>memcached</literal> для поддержки обработки сессий.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="memcache.sessions.save-path">
<term>
<parameter>session.save_path</parameter>
<type>string</type>
</term>
<listitem>
<para>
Задает разделенный запятыми список записей <literal>hostname:port</literal>
для определения пула серверов обрабатывающих сессии. К примеру
<literal>"sess1:11211, sess2:11211"</literal>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->