(PECL mysqlnd_memcache >= 1.0.0)
mysqlnd_memcache_get_config — Devuelve información acerca de la configuración del complemento
Esta función devuelve un array con toda la información de configuración relacionada con mysqlnd_memcache que ha sido adjuntada a la conexión de MySQL. Esto incluye a MySQL, el objeto Memcache proporcionado por mysqlnd_memcache_set(), y la configuración de la correspondencia de tablas que fue recogida de forma automática desde el servidor de MySQL.
Un array con información de la configuración de mysqlnd_memcache en caso de éxito, de lo contrario, false
.
El array devuelto contiene estos elementos:
Clave del array | Descripción |
---|---|
memcached | Una instancia de Memcached asociada a esta conexión de MySQL mediante mysqlnd_memcache_set(). Se puede emplear esta clave para cambiar los ajustes de la conexión de memcache, o directamente consultando al servdor sobre esta conexión. |
pattern |
La expresión regular PCRE empleada para hacer coincidir la consulta SQL enviada al servidor.
Las consultas que coincidan con este patrón serán analizadas para decidri si
la consulta puede ser interceptada y enviada mediante la interfaz de memcache o
si la consulta se envía al servidor empleado el protocolo general de
MySQL. El patrón puede ser el patrón predeterminado
(MYSQLND_MEMCACHE_DEFAULT_REGEXP ) o el establecido por
mysqlnd_memcache_set().
|
mappings | Un array asociativo con una lista de todos los contenedores configurados tal y como fueron descubiertos por este comlemento. La clave para esto elementos es el nombre del contenedor de la configuración de MySQL. El valor está descrito más abajo. El contenido de este campo se crea consultando al Servidor de MySQL durante la asociación de MySQL y una conexión de memcache empleando mysqlnd_memcache_set(). |
mapping_query | Una consulta SQL empleada durante mysqlnd_memcache_set() para identificar los contenedores disponibles y correspondecias. El resultado de esta consulta está provisto en el elemento de correspondencia. |
Clave del array | Descripción |
---|---|
prefix | Un prefijo empleado mientras se accede a datos mediante memcache. Con el complemento InnoDB Memcache Deamon de MySQL, este normalmente comienza con @@ y termina con un separador configurable. Este prefijo se coloca delante del valor de la clave mientras se utiliza el protocolo memcache. |
schema_name | Nombre del esquema (base de datos) que contiene la tabla a acceder. |
table_name | Nombre de la tabla que contiene los datos accesibles mediante el protocolo memcache. |
id_field_name | Nombre del campo (columna) de la base de datos con el id empleado como clave al acceder a la tabla mediante memcache. A menudo este es el campo de la base de datos que tiene la clave primaria. |
separator |
El separador empeado para dividir los diferentes valores de campos. Es necesario debido a
que memcache solamente provee acceso a un único valor, mientras que MySQL puede hacer corresponder
varias columnas a este valor.
|
fields | Un array con el nombre de todos los campo disponibles para esta correspondencia. |
Ejemplo #1 Ejemplo de mysqlnd_memcache_get_config()
<?php
$mysqli = new mysqli("host", "usuario", "contraseña", "base_de_datos");
$memc = new Memcached();
$memc->addServer("host", 11211);
mysqlnd_memcache_set($mysqli, $memc);
var_dump(mysqlnd_memcache_get_config($mysqli));
?>
El resultado del ejemplo sería:
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" }