Le plugin mysqlnd memcache (mysqlnd_memcache) est une extension PHP pour traduire de façon transparente le SQL en requêtes pour le plugin MySQL InnoDB Memcached Daemon (plugin côté serveur). Il inclut un support expérimental pour le Daémon MySQL Cluster Memcached. Le plugin côté serveur fournit un accès aux données stockées dans des tables MySQL InnoDB (respectivement MySQL Cluster NDB) en utilisant le protocole Memcache. Cette extension PHP, qui supporte toutes les extensions PHP MySQL qui utilisent mysqlnd, va identifier les tables exportées de cette façon, et va traduire les requêtes SELECT en requêtes Memcache.
Note:
Ce plugin dépend du plugin MySQL InnoDB Memcached Daemon. Il n'est pas fourni pour être utilisé avec un Memcache seul. Pour un gestionnaire de cache générique utilisant Memcache, utilisez plutôt le plugin de mise en cache de requête mysqlnd. Pour un accès direct à Memcache, tournez-vous du côté des extensions memcache et memcached.
Le driver natif MySQL pour PHP est une bibliothèque C qui fonctionne avec PHP depuis PHP 5.3.0. Il agit comme remplaçant de la bibliothèque cliente MySQL (libmysql/libmysqlclient). L'utilisation de mysqlnd a plusieurs avantages : aucune extension à télépharger n'est nécessaire, car il est fourni avec PHP, il est sous licence PHP, il consomme moins de mémoire dans certain cas, et il contient de nouvelles fonctionalités comme les requêtes asynchrones.
mysqlnd_mmemcache opère, dans la plupart des cas, de façon transparente d'un point de vue utilisateur. Le plugin mysqlnd memcache supporte toutes les applications PHP, et toutes les extensions MySQL de PHP. Il ne modifie en rien les APIs existantes. Aussi, il peut être utilisé très facilement avec toutes les applications PHP existantes.
Le plugin MySQL Memcache ajoute des méthodes d'accès de type clé-valeur pour les données stockées dans des tables InnoDB resp. NDB (MySQL Cluster) SQL via le protocole Memcache. Ce type d'accès est bien plus rapide que d'utiliser SQL.
Voici les fonctionalités clés de PECL/mysqlnd_memcache :
De possible bénéfice en terme de performance
Côté client : protocole léger.
Côté serveur : aucune analyse SQL, accès direct au stockage.
Vous pouvez utiliser nos propres tests de performance ! Les résultats de ces tests sont hautement dépendants de la configuration et du matériel utilisés.
La version initiale n'est pas sécurisé niveau binaire. En raison de la façon dont le plugin MySQL Memcache fonctionne, il y a des restrictions au niveau des séparateurs.
Les requêtes préparées et asynchrones ne sont pas supportées. Le support des méta-données du jeu de résultats est limité.
Les informations de mappage des tables accessibles via Memcache ne sont pas mises en cache dans le plugin entre les requêtes, mais récupérées depuis le serveur MySQL à chaque fois qu'une connexion MySQL est associée avec une connexion Memcache. Voir la fonction mysqlnd_memcache_set() pour plus de détails.
Le raccourci mysqlnd_memcache signifie mysqlnd memcache plugin. Memcache se repose sur le plugin MySQL Memcache pour InnoDB et NDB (MySQL Cluster). Le plugin n'est pas lié au serveur de cache Memcache.