mysqlnd_memcache_get_config
(PECL mysqlnd_memcache >= 1.0.0)
mysqlnd_memcache_get_config — Retourne les informations concernant la configuration du plugin
Description
Cette fonction retourne un tableau contenant les informations relatives à mysqlnd_memcache attaché à la connexion MySQL. Ceci inclut MySQL, l'objet Memcache fourni via la fonction mysqlnd_memcache_set(), et la configuration de la table de mapping qui a été collectée automatiquement depuis le serveur MySQL.
Liste de paramètres
Valeurs de retour
Un tableau contenant les informations de configuration mysqlnd_memcache en cas
de succès, ou FALSE
sinon.
Le tableau retourné contient trois éléments :
Clé du tableau | Description |
---|---|
memcached | Une instance Memcache associée à la connexion MySQL par mysqlnd_memcache_set(). Vous pouvez l'utiliser pour modifier la configuration de la connexion Memcache, ou directement, en requétant le serveur sur cette connexion. |
pattern | L'expression rationnelle PCRE utilisée pour faire correspondre la requête SQL envoyée au serveur. Les requêtes correspondantes à ce masque seront par la suite analysées afin de décider si la requête doit être interceptée et envoyée via l'interface memcache ou si elle doit être envoyée en utilisant le protocole général MySQL au serveur. Le masque est soit le masque par défaut (MYSQLND_MEMCACHE_DEFAULT_REGEXP) ou celui définit via la fonction mysqlnd_memcache_set(). |
mappings | Un tableau associatif contenant une liste de tous les conteneurs configurés, tels qu'ils sont découverts par ce plugin. La clé pour ces éléments sera le nom du conteneur tel que présent dans la configuration MySQL. La valeur est décrite ci-dessous. Le contenu de ce champ est créé en interrogeant le serveur MySQL lors de l'association de la connexion MySQL et de la connexion Memcache, en utilisant la fonction mysqlnd_memcache_set(). |
mapping_query | Une requête SQL utilisée lors de l'appel à la fonction mysqlnd_memcache_set() pour identifier les conteneurs et les mappings disponibles. Le résultat de cette requête est fournie dans l'élément de mappings. |
Clé du tableau | Description |
---|---|
prefix | Un préfixe utilisé lors de l'accès aux données via memcache. Avec le plugin MySQL InnoDB Memcache Deamon, il commence habituellement par @@ et termine avec un séparateur configurable. Le préfixe est placé au début de la valeur de la clé lors de l'utilisation du protocole memcache. |
schema_name | Nom du shéma (base de données) qui contient la table à accéder. |
table_name | Nom de la table qui contient les données accessibles via le protocole memcache. |
id_field_name | Nom du champ de la base de données (colonne) avec l'ID utilisé comme clé lors de l'accès à la table via memcache. Y compris si le champ de la base de données a une clé primaire. |
separator |
Le séparateur utilisé pour couper les différentes valeurs du champ.
Il est nécessaire sachant que memcache ne permet l'accès qu'à une seule
donnée, alors que MySQL peut mapper plusieurs colonnes à cette valeur.
|
fields | Un tableau avec le nom de tous les champs disponibles pour ce mappage. |
Exemples
Exemple #1 Exemple avec mysqlnd_memcache_get_config()
<?php
$mysqli = new mysqli("host", "user", "passwd", "database");
$memc = new Memcached();
$memc->addServer("host", 11211);
mysqlnd_memcache_set($mysqli, $memc);
var_dump(mysqlnd_memcache_get_config($mysqli));
?>
L'exemple ci-dessus va afficher :
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" }
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-get-config.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.