What is the main difference between mysqlnd_qc and memcache (regarding mysql)
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.
Les plugins 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 extensions 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)
APC
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
.
What is the main difference between mysqlnd_qc and memcache (regarding mysql)