Le plugin de cache des résultats de requêtes Mysqlnd ajoute la possibilité de mettre en cache les requêtes côté client pour toutes les extensions PHP MySQL en utilisant mysqlnd.
Depuis la version PHP 5.3.3, le driver natif MySQL pour PHP ( mysqlnd) dispose d'un plugin interne de l'API C. Les plugins C, comme le plugin de mise en cache des requêtes, peuvent étendre les fonctionnalités de mysqlnd.
Lesplugins Mysqlnd comme le plugin de mise en cache des requêtes opère de façon transparente d'un point de vue utilisateur. Le plugin de cache supporte toutes les applications PHP ainsi que toutes les extension PHP MySQL (mysqli, mysql, PDO_MYSQL). Il ne modifie pas les APIs existantes.
Aucun modification significative n'est nécessaire pour mettre en cache une requête. Le cache a 2 modes de fonctionnement. Il peut soit mettre en cache toutes les requêtes (non recommandé), soit uniquement celles marquées avec une certaine astuce SQL (recommandé).
Transparent et facile d'utilisation.
supporte toutes les extensions PHP MySQL
aucune modification d'API
de très simples modifications des applications sont nécessaires
Stratégie d'invalidation flexible
Time-to-Live (TTL)
défini par l'utilisation
Stockage avec différents scopes et durée de vie
Défaut (Hash, processus mémoire)
MEMCACHE
sqlite
défini par l'utilisateur
Défense slam interne pour prévenir les débordements du cache.
La version courante 1.0.1 de PECL mysqlnd_qc ne supporte pas PHP 5.4. La version 1.1.0-alpha supprime cette limitation.
Les requêtes préparées et bufferisées sont totalement supportées. Ansi, le plugin est capable de mettre en cache toutes les requêtes issues des extensions mysqli et PDO_MySQL, qui sont les deux seules API PHP MySQL à offrir le support des requêtes préparées.
Le raccourci mysqlnd_qc signifie mysqlnd query cache plugin. Le nom a été choisi pour une démonstration technologique. Au début, les développeurs n'avaient pas prévu de continuer d'utiliser le code de base. Quelques fois, PECL/mysqlnd_qc était aussi appelé client-side query result set cache.