mysqlnd_memcache_set
(PECL mysqlnd_memcache >= 1.0.0)
mysqlnd_memcache_set — Associe une connexion MySQL avec une connexion Memcache
Description
$mysql_connection
[, Memcached $memcache_connection
[, string $pattern
[, callback $callback
]]] ) : bool
Associe une connexion mysql_connection
avec une connexion
memcache_connection
en utilisant le paramètre
pattern
comme expression rationnelle PCRE, et le paramètre
callback
comme notification de rappel, ou pour réinitialiser
l'association de la connexion mysql_connection
.
Lors de l'association d'une connexion MySQL avec une connexion Memcache, cette fonction va interroger le serveur MySQL pour en connaître sa configuration. Elle va ainsi automatiquement détecter si le serveur est configuré pour utiliser le plugin InnoDB Memcache Daemon, ou le support MySQL Cluster NDB Memcache. Elle va également interroger le serveur afin d'identifier automatiquement les tables exportées, ainsi que d'autres options de configuration. Le résultat de cette configuration automatique peut être récupéré en utilisant la fonction mysqlnd_memcache_get_config().
Liste de paramètres
-
mysql_connection
-
Un gestionnaire de serveur MySQL, en utilisant une des extensions API MySQL de PHP, qui sont PDO_MYSQL, mysqli ou ext/mysql.
-
memcache_connection
-
Une instance Memcached avec une connexion au plugin MySQL Memcache Daemon. Si ce paramètre est omis, alors
mysql_connection
sera dé-associée de toute connexion memcache. Et si une précédente association existait, alors elle sera remplacée. -
pattern
-
Une expression rationnelle au format PCRE pour identifier les requêtes potentielles Memcache. La requête doit avoir trois sous-masques. Le premier contient la liste des champs demandés, le second, le nom de la colonne ID depuis la requête, et le troisième, la valeur demandée. Si ce paramètre est omis, ou défini à
NULL
, alors un masque par défaut sera utilisé. -
callback
-
Une fonction de rappel qui sera utilisée à chaque fois que la requête est envoyée à MySQL. Elle ne reçoit qu'un seul paramètre, un booléen, indiquant si la requête a été envoyée via Memcache.
Valeurs de retour
TRUE
si l'association ou la dé-association a été un succès, ou FALSE
si une erreur survient.
Exemples
Exemple #1 Exemple avec mysqlnd_memcache_set() et var_dump() comme fonction de rappel de déboguage.
<?php
$mysqli = new mysqli("host", "user", "passwd", "database");
$memc = new Memcached();
$memc->addServer("host", 11211);
mysqlnd_memcache_set($mysqli, $memc, NULL, 'var_dump');
/* Cette requête sera interceptée et exécutée via le protocole Memcache */
echo "Envoi de la requête pour l'ID via Memcache : ";
$mysqli->query("SELECT f1, f2, f3 FROM test WHERE id = 1");
/* f1 n'est pas configuré comme une clé de champ valide, cette requête ne sera pas envoyée via Memcache */
echo "Envoi de la requête pour f1 via Memcache : ";
$mysqli->query("SELECT id FROM test WHERE f1 = 1");
mysqlnd_memcache_set($mysqli);
/* Maintenant, le protocole régulier MySQL sera utilisé */
echo "var_dump ne sera pas appelé : ";
$mysqli->query("SELECT f1, f2, f3 WHERE id = 1");
?>
L'exemple ci-dessus va afficher :
Envoi de la requête pour l'ID via Memcache: bool(true) Envoi de la requête pour f1 via Memcache: bool(false) var_dump ne sera pas appelé :
Voir aussi
- mysqlnd_memcache_get_config() - Retourne les informations concernant la configuration du plugin
Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-function.mysqlnd-memcache-set.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.