Files
php-doc-ru/reference/mysqlnd_memcache/functions/mysqlnd-memcache-get-config.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

269 lines
9.6 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-get-config" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>mysqlnd_memcache_get_config</refname>
<refpurpose>Получить информацию о настройках плагина</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type>
<methodname>mysqlnd_memcache_get_config</methodname>
<methodparam><type>mixed</type><parameter>connection</parameter></methodparam>
</methodsynopsis>
<para>
Функция возвращает массив со всеми настройками mysqlnd_memcache, который
связан с соединением MySQL. Включая MySQL, объект
Memcache, предоставленный через <function>mysqlnd_memcache_set</function>
и информацию о настройках отображения таблиц, которая была автоматически собрана
с сервера MySQL.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>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>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Массив настроек mysqlnd_memcache или &false;.
</para>
<para>
Возвращенный массив имеет следующие элементы:
</para>
<para>
<table>
<title>Структура массива <function>mysqlnd_memcache_get_config</function></title>
<tgroup cols="2">
<thead>
<row>
<entry>Ключ</entry>
<entry>Описание</entry>
</row>
</thead>
<tbody>
<row>
<entry>memcached</entry>
<entry>
Экземпляр Memcached, связанный с соединением MySQL с помощью
<methodname>mysqlnd_memcache_set</methodname>. Можете использовать для
изменения настроек соединения memcache или для прямых запросов к нему.
</entry>
</row>
<row>
<entry>pattern</entry>
<entry>
Регулярное выражение PCRE для разбора SQL-запроса, отправленного на сервер.
Запросы, попадающие под этот шаблон будут проанализированы на предмет
возможности их перехвата и запуска через интерфейс memcache, либо
необходимости использования стандартного протокола MySQL.
Это может быть шаблон по умолчанию
(<literal>MYSQLND_MEMCACHE_DEFAULT_REGEXP</literal>) или же его можно
определить с помощью <function>mysqlnd_memcache_set</function>.
</entry>
</row>
<row>
<entry>mappings</entry>
<entry>
Ассоциативный массив со списком всех настроенных контейнеров, как
они были найдены плагинов. Ключами являются имена контейнеров
в конфигурации MySQL. Значение описано ниже. Контент этого поля создается
путем запроса к серверу MySQL в момент связи соединения MySQL с memcache
функцией <methodname>mysqlnd_memcache_set</methodname>.
</entry>
</row>
<row>
<entry>mapping_query</entry>
<entry>SQL-запрос, используемый
<methodname>mysqlnd_memcache_set</methodname>
для идентификации доступных контейнеров и отображений. Результат этого
запроса предоставлен в элементах mappings.
</entry>
</row>
</tbody>
</tgroup>
</table>
<table>
<title>Структура элемента отображения</title>
<tgroup cols="2">
<thead>
<row>
<entry>Ключ</entry>
<entry>Описание</entry>
</row>
</thead>
<tbody>
<row>
<entry>prefix</entry>
<entry>
Префикс, используемый при доступе к данным через memcache. С плагином
MySQL InnoDB Memcache Deamon он обычно начинается с @@ и заканчивается
настраиваемым разделителем. Этот префикс помещается перед значением ключа
во время использования протокола memcache.
</entry>
</row>
<row>
<entry>schema_name</entry>
<entry>
Имя схемы (БД), содержащий необходимые таблицы.
</entry>
</row>
<row>
<entry>table_name</entry>
<entry>
Имя таблицы, к которой обращаются через протокол memcache.
</entry>
</row>
<row>
<entry>id_field_name</entry>
<entry>
Имя столбца таблицы, используемого в условии WHERE при запросе через
memcache. Обычно это поле являющееся первичным ключем.
</entry>
</row>
<row>
<entry>separator</entry>
<entry>
Разделитель, использующийся для разделения значений разных полей.
Это нужно так как memcache предоставляет доступ только к одному значению, а
MySQL может отображать несколько столбцов в это значение.
<note>
<para>
Разделитель, который может быть задан в конфигурации сервера MySQL,
не должен встречаться в значениях, которые будут извлекаться через
протокол memcache, так как это может поломать отображение.
</para>
</note>
</entry>
</row>
<row>
<entry>fields</entry>
<entry>
Массив с именами полей, доступных для данного отображения.
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования <function>mysqlnd_memcache_get_config</function></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);
var_dump(mysqlnd_memcache_get_config($mysqli));
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
array(4) {
["memcached"]=>
object(Memcached)#2 (0) {
}
["pattern"]=>
string(125) "/^\s*SELECT\s*(.+?)\s*FROM\s*`?([a-z0-9_]+)`?\s*WHERE\s*`?([a-z0-9_]+)`?\s*=\s*(?(?=["'])["']([^"']*)["']|([0-9e\.]*))\s*$/is"
["mappings"]=>
array(1) {
["mymem_test"]=>
array(6) {
["prefix"]=>
string(13) "@@mymem_test."
["schema_name"]=>
string(4) "test"
["table_name"]=>
string(10) "mymem_test"
["id_field_name"]=>
string(2) "id"
["separator"]=>
string(1) "|"
["fields"]=>
array(3) {
[0]=>
string(2) "f1"
[1]=>
string(2) "f2"
[2]=>
string(2) "f3"
}
}
}
["mapping_query"]=>
string(209) " SELECT c.name,
CONCAT('@@', c.name, (SELECT value FROM innodb_memcache.config_options WHERE name = 'table_map_delimiter')) AS key_prefix,
c.db_schema,
c.db_table,
c.key_columns,
c.value_columns,
(SELECT value FROM innodb_memcache.config_options WHERE name = 'separator') AS sep
FROM innodb_memcache.containers c"
}
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member>
<methodname>mysqlnd_memcache_set</methodname>
</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
-->