mysqlnd_qc_set_cache_condition

(PECL mysqlnd_qc >= 1.1.0)

mysqlnd_qc_set_cache_conditionEstablece las condiciones para el almacenamiento en caché automático

Descripción

mysqlnd_qc_set_cache_condition ( int $condition_type , mixed $condition , mixed $condition_option ) : bool

Establece una condición para el almacenamiento en caché automático de sentencias que no contienen las sugerencias SQL necesarias para habilitar su almacenamiento en dicha caché.

Parámetros

condition_type

El tipo de condición. El único valor permitido es MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN.

condition

Parámetro para la condición establecida con condition_type. El tipo y la estructura del parámetro depende de condition_type

Si condition_type es igual a MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN, condition debe ser una cadena. Ésta establece el patrón. Las setencias son almacenadas en caché si la tabla y la entrada de los metadatos de la base de datos de sus conjuntos de resultados coinceiden con el patrón. Dicho patrón se comprueba para ver si coincide con las entradas de los metadatos db y org_table proporcionadas por la biblioteca cliente-servidor de MySQL subyacente. Por favor, revise el manual de referencias de MySQL para los detalles de las dos entradas. Los valores de db y org_table son concatenados con un punto (.) antes de compararlos con condition. La comparación de patrones admite los comodines % y _. El comodín % coincidirá con uno o varios caracteres arbitrarios. _ coincidirá con un carácter arbitrario. El símbolo de escape es la barra invertida.

condition_option

Opción para condition. El tipo y la estructura dependen de condition_type.

Si condition_type es igual a MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN, condition_options es el TTL a usar.

Ejemplos

Ejemplo #1 Ejemplo de mysqlnd_qc_set_cache_condition()

<?php
/* Almacenar en caché todos los accesos a las tablas con el nombre "new%" en el esquema/base de datos "ejemplo_db" durante 1 segundo */
if (!mysqlnd_qc_set_cache_condition(MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN"ejemplo_db.new%"1)) {
  die(
"¡Fallo al establecer la condición de la caché!");
}

$mysqli = new mysqli("host""usuario""contraseña""ejemplo_db""puerto");
/* almacenada en caché aunque no se proporcione una sugerencia SQL */
$mysqli->query("SELECT id, title FROM news");

$pdo_mysql = new PDO("mysql:host=host;dbname=ejemplo_db;port=puerto""usuario""contraseña");
/* no almacenada en caché: sin sugerencia SQL, sin coincidencia con el patrón */
$pdo_mysql->query("SELECT id, title FROM latest_news");
/* almacenada en caché: TTL 1 segundo, coincide con el patrón */
$pdo_mysql->query("SELECT id, title FROM news");
?>

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.