Rechercher une fonction PHP

mysqlnd_memcache_get_config

(PECL mysqlnd_memcache >= 1.0.0)

mysqlnd_memcache_get_configRetourne les informations concernant la configuration du plugin

Description

mysqlnd_memcache_get_config ( mixed $connection ) : array

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.

Retour à la première page de Manuel PHP  Table des matières Haut

Liste de paramètres

connection

Un gestionnaire de connexion au serveur MySQL, utilisant une des extensions MySQL API de PHP, pouvant être PDO_MYSQL, mysqli ou ext/mysql.

Retour à la première page de Manuel PHP  Table des matières Haut

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 :

Structure du tableau retourné par mysqlnd_memcache_get_config()
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.
Mappage de la structure d'entrée
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.

Note:

Le séparateur, qui peut être défini dans la configuration du serveur MySQL, ne doit faire parti d'aucune valeur récupérée via memcache, sinon un mappage correct ne peut être garanti.

fields Un tableau avec le nom de tous les champs disponibles pour ce mappage.

Retour à la première page de Manuel PHP  Table des matières Haut

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"
}

Retour à la première page de Manuel PHP  Table des matières Haut

Voir aussi

Rechercher une fonction PHP

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

  1. Consulter le document html Langue du document :fr Manuel PHP : http://php.net

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.

Table des matières Haut