mysqlnd_memcache_set
(PECL mysqlnd_memcache >= 1.0.0)
mysqlnd_memcache_set — Asociar una conexión de MySQL con una conexión de Memcache
Descripción
$mysql_connection
[, Memcached $memcache_connection
[, string $pattern
[, callback $callback
]]] )
Asocia mysql_connection con
memcache_connection empleando pattern
como una expresión regular PCRE, y callback como una retrollamada
de notificación o para desestablecer la asociación de mysql_connection.
Al tiempo que asocia una conexión de MySQL con una conexión de Memcache, esta función consultará al servidor de MySQL por su configuración. Detectará automáticamente si el servidor está configurado para utilizar el Complemento InnoDB Memcache Daemon o el soporte para Cluster NDB Memcache de MySQL. También consultará al servidor para identificar automáticamente tablas exportadas y otras opciones de configuración. El resultado de esta configuración automática se puede recuperar con mysqlnd_memcache_get_config().
Parámetros
-
mysql_connection -
Un gestor a un Servidor de MySQL empleando una de las extensiones de la API de MySQL para PHP, las cuales son PDO_MYSQL, mysqli o ext/mysql.
-
memcache_connection -
Una instancia de Memcached con una conexión al complemento Memcache Daemon de MySQL. Si se omite este parámetro,
mysql_connectionestará disociado de cualquier conexión de memcache. Y existe una asociación previa será reemplazada. -
pattern -
Una expresión regular con la sintaxis de Expresiones regulares compatibles con Perl empleada para identificar consultas de Memcache potenciales. La consulta debería tener tres subpatrones. El primer subpatrón contiene la lista de campos solicitados; el segundo, el nombre de la columna ID de la consulta; y el tercero, el valor solicitado. Si se omite este parámetro o se establece a
NULL, se utilizará un patrón predeterminado. -
callback -
Una retrollamada que será empleada siempre que se comience el envío de una consulta a MySQL. La retrollamada recibirá un único parámetro de tipo boolean indicando si una consulta fue enviada mediante Memcache.
Valores devueltos
TRUE si la asociación o disociación tiene éxito, o de lo contrario FALSE si
ocurrió un error.
Ejemplos
Ejemplo #1 Ejemplo de mysqlnd_memcache_set() con var_dump() como una retrollama de depuración simple.
<?php
$mysqli = new mysqli("host", "usuario", "contraseña", "base_de_datos");
$memc = new Memcached();
$memc->addServer("host", 11211);
mysqlnd_memcache_set($mysqli, $memc, NULL, 'var_dump');
/* Esta consulta será interceptada y ejecutada por el protocolo Memcache */
echo "Enviando la consulta para id mediante Memcache: ";
$mysqli->query("SELECT f1, f2, f3 FROM test WHERE id = 1");
/* f1 no está configurado como un campo de clave válido, por lo que esta no se enviará a Memcache */
echo "Enviando la consulta para f1 mediante Memcache: ";
$mysqli->query("SELECT id FROM test WHERE f1 = 1");
mysqlnd_memcache_set($mysqli);
/* Ahora se empleará el protocolo regular de MySQL */
echo "var_dump no será invocado: ";
$mysqli->query("SELECT f1, f2, f3 WHERE id = 1");
?>
El resultado del ejemplo sería:
Enviando la consulta para id mediante Memcache: bool(true) Enviando la consulta para f1 mediante Memcache: bool(false) var_dump no será invocado:
Ver también
- mysqlnd_memcache_get_config() - Devuelve información acerca de la configuración del complemento