Utilisation
Après association d'une connexion MySQL avec une connexion Memcache en
utilisant la fonction mysqnd_memcache_set(), le plugin
tente de remplacer de façon transparente les requêtes SQL de type SELECT
par un accès memcache. Dans ce but, le plugin surveille toutes les requêtes
SQL exécutées et tente de faire correspondre chaque chaîne de requête
avec l'expression rationnelle MYSQLND_MEMCACHE_DEFAULT_REGEXP
.
Dans le cas d'une correspondance, le plugin mysqlnd memcache vérifie si la
requête SELECT tente d'accéder qu'à des colonnes d'une table
mappée et la clause WHERE se limite à une seule clé de recherche.
Dans le cas de la table SQL d'exemple, le plugin utilisera l'interface Memcache du serveur MySQL pour récupérer les résultats pour une requête SQL comme : SELECT f1, f2, f3 WHERE id = n.
Exemple #1 Exemple simple
<?php
$mysqli = new mysqli("host", "user", "passwd", "database");
$memc = new Memcached();
$memc->addServer("host", 11211);
mysqlnd_memcache_set($mysqli, $memc);
/* Requête de la table test en utilisant l'ID comme clé dans la clause
WHERE et accès des champs f1, f2 et f3. Toutefois, mysqlnd_memcache
va l'intercepter et l'envoyer via memcache.
*/
$result = $mysqli->query("SELECT f1, f2, f3 FROM test WHERE id = 1");
while ($row = $result->fetch_row()) {
print_r($row);
}
/* Requête de la table test mais en utilisant f1 dans la clause WHERE.
Toutefois, mysqlnd_memcache ne peut pas l'intercepter. Elle sera exécutée
en utilisant le protocole MySQL
*/
$mysqli->query("SELECT id FROM test WHERE f1 = 'Lady'");
while ($row = $result->fetch_row()) {
print_r($row);
}
?>
L'exemple ci-dessus va afficher :
array( [f1] => Hello [f2] => World [f3] => ! ) array( [id] => 2 )
Version en cache
24/12/2024 05:55:04 Cette version de la page est en cache (à la date du 24/12/2024 05:55:04) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-mysqlnd-memcache.quickstart.usage.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.