Files
php-doc-ru/reference/mysqlnd_memcache/functions/mysqlnd-memcache-set.xml
sergey bbae3e95e5 docs(ru): Review
git-svn-id: https://svn.php.net/repository/phpdoc/ru/trunk@348507 c90b9560-bf6c-de11-be94-00142212c4b1
2019-12-13 19:39:18 +00:00

175 lines
7.1 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 86fe1b6af3972827827c20e6c5e27919073275b8 Maintainer: rjhdby Status: ready -->
<!-- Reviewed: yes Maintainer: sergey -->
<refentry xml:id="function.mysqlnd-memcache-set" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>mysqlnd_memcache_set</refname>
<refpurpose>Связать соединение MySQL с соединением Memcache</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type>
<methodname>mysqlnd_memcache_set</methodname>
<methodparam><type>mixed</type><parameter>mysql_connection</parameter></methodparam>
<methodparam choice="opt"><type>Memcached</type><parameter>memcache_connection</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>pattern</parameter></methodparam>
<methodparam choice="opt"><type>callback</type><parameter>callback</parameter></methodparam>
</methodsynopsis>
<para>
Связывает <parameter>mysql_connection</parameter> с
<parameter>memcache_connection</parameter>, используя шаблон
<parameter>pattern</parameter> как регулярное выражение PCRE и
<parameter>callback</parameter> в качестве callback-функции для
оповещения, или разрывает связь с <parameter>mysql_connection</parameter>.
</para>
<para>
Во время связывания соединения MySQL с соединением Memcache, эта функция
запросит у сервера MySQL его конфигурацию. Это позволяет автоматически определить,
сконфигурирован ли сервер с поддержкой плагина InnoDB Memcache Daemon или
поддержкой MySQL Cluster NDB Memcache. Также сервер будет запрошен на предмет
автоматической идентификации экспортированных таблиц и прочих настроек.
Результаты автоматической настройки можно посмотреть с помощью
<function>mysqlnd_memcache_get_config</function>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>mysql_connection</parameter></term>
<listitem>
<para>
Соединение MySQL с помощью одного из модулей MySQL API для PHP:
<link linkend="ref.pdo-mysql">PDO_MYSQL</link>, <link linkend="book.mysqli">mysqli</link> или
<link linkend="book.mysql">ext/mysql</link>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>memcache_connection</parameter></term>
<listitem>
<para>
Экземпляр <link linkend="book.memcached">Memcached</link>, соединенный с
плагином MySQL Memcache Daemon. Если этот параметр пропущен, то
<parameter>mysql_connection</parameter> будет отвязано от всех соединений с
memcache. Если существовала предыдущая привязка, то она будет заменена.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>pattern</parameter></term>
<listitem>
<para>
Регулярное выражение <link linkend="book.pcre">PCRE (Perl Compatible
Regular Expression)</link> для идентификации потенциальных запросов к
Memcache. Запрос должен иметь три подшаблона. Первый подшаблон
содержит список запрошенных полей, второй содержит ID столбца из запроса, а третий
- запрошенное значение. Если параметр опущен или установлен как &null;, то
будет использован шаблон по умолчанию.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>callback</parameter></term>
<listitem>
<para>
Callback-функция, которая будет запущена при отправке
запроса к MySQL. Эта функция принимает один параметр типа &boolean;, который
определяет, был ли запрос отправлен с через Memcache.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&true;, если связывание или разрыв связи прошли успешно. &false; в случае возникновения ошибки.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>
Пример использования <function>mysqlnd_memcache_set</function> с
<function>var_dump</function> в качестве отладочной callback-функции.</title>
<programlisting role="php">
<![CDATA[
<?php
$mysqli = new mysqli("host", "user", "passwd", "database");
$memc = new Memcached();
$memc->addServer("host", 11211);
mysqlnd_memcache_set($mysqli, $memc, NULL, 'var_dump');
/* Этот запрос будет перехвачен и запущен через протокол Memcache */
echo "Запрос с полем id через Memcache: ";
$mysqli->query("SELECT f1, f2, f3 FROM test WHERE id = 1");
/* f1 не сконфигурирован как корректный ключ поля, так что послать это через Memcache нельзя */
echo "Запрос с полем f1 через Memcache: ";
$mysqli->query("SELECT id FROM test WHERE f1 = 1");
mysqlnd_memcache_set($mysqli);
/* Теперь будет использован обычный протокол MySQL */
echo "var_dump не будет вызван: ";
$mysqli->query("SELECT f1, f2, f3 WHERE id = 1");
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Запрос с полем id через Memcache: bool(true)
Запрос с полем f1 через Memcache: bool(false)
var_dump не будет вызван:
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member>
<function>mysqlnd_memcache_get_config</function>
</member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- 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
-->