Avec le développement de la technologie Internet et l’augmentation explosive des visites, comment améliorer les performances du site Internet est devenu une question urgente. La technologie de mise en cache est l’une des solutions les plus couramment utilisées pour améliorer les performances des sites Web. En tant que langage de développement back-end très populaire, PHP fournit également de nombreuses technologies de mise en cache, dont la plus couramment utilisée est la technologie de mise en cache Memcache.
Memcache est un système de cache d'objets à mémoire distribuée hautes performances, souvent utilisé pour améliorer la vitesse d'accès aux données, réduire la charge de la base de données, etc. Cet article explique comment utiliser la technologie de mise en cache Memcache en PHP pour améliorer les performances de lecture des données.
1. Installation et configuration de Memcache
L'extension Memcache peut être obtenue en PECL. Utilisez les commandes suivantes pour télécharger et installer l'extension Memcache.
$ pecl install memcache
Ajoutez les lignes suivantes au fichier php.ini pour activer l'extension Memcache.
extension=memcache.so
Sur le serveur Linux, utilisez la commande suivante pour démarrer le service Memcached.
$ memcached -d -m 64 -u root -l 127.0.0.1 -p 11211
Vous pouvez utiliser l'extrait de code suivant pour tester si Memcache est disponible.
$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Impossible de se connecter");
Deuxièmement, utilisez Memcache pour mettre en cache les données
Le stockage des données dans Memcache est très simple. Utilisez le code suivant pour stocker les paires clé-valeur de données dans le cache.
$memcache = new Memcache;
$memcache->connect('localhost', 11211) ou die ("Impossible de se connecter");
$memcache->set('key', 'value', 0, 3600);
Le code ci-dessus enregistre la "clé" et la "valeur" dans Memcache, et la durée du cache est de 3600 secondes.
Lorsque vous avez besoin d'obtenir les données dans le cache Memcache, vous pouvez utiliser le code suivant.
$memcache = new Memcache;
$memcache->connect('localhost', 11211) ou mourir ("Impossible de se connecter");
$data = $memcache->get('key');
Le code ci-dessus obtiendra la valeur avec la clé "key" de Memcache.
Si vous devez supprimer les données mises en cache dans Memcache, vous pouvez utiliser l'extrait de code suivant.
$memcache = new Memcache;
$memcache->connect('localhost', 11211) ou die ("Impossible de se connecter");
$memcache->delete('key');
Le code ci-dessus supprimera les données avec la clé "key" de Memcache.
3. Utilisez Memcache pour accélérer l'accès à la base de données
Lorsque vous utilisez Memcache pour améliorer les performances de lecture des données, le scénario d'application le plus courant consiste à mettre en cache les données dans la base de données. Si certaines données d'un site Web sont fréquemment lues à partir de la base de données, l'utilisation de Memcache pour mettre ces données en cache peut réduire la charge sur le serveur de base de données et améliorer les performances du site Web.
Voici les étapes à suivre pour utiliser Memcache pour accélérer l'accès à la base de données.
Lors de la première demande de données, récupérez les données de la base de données et stockez-les dans Memcache.
$memcache = new Memcache;
$memcache->connect('localhost', 11211) ou mourir ("Impossible de se connecter");
$data = $memcache->get('key');
if (!$data) { //Les données n'existent pas dans Memcache
$db = new mysqli('localhost', 'user', 'password', 'database'); $result = $db->query('SELECT * FROM table'); $data = $result->fetch_all(MYSQLI_ASSOC); $db->close(); $memcache->set('key', $data, 0, 3600);
}
Dans les requêtes suivantes, appelez les données mises en cache de Memcache pour éviter les requêtes de base de données.
$memcache = new Memcache;
$memcache->connect('localhost', 11211) ou mourir ("Impossible de se connecter");
$data = $memcache->get('key');
if ($data === false) { //Les données n'existent pas dans Memcache et doivent être lues à partir de la base de données
$db = new mysqli('localhost', 'user', 'password', 'database'); $result = $db->query('SELECT * FROM table'); $data = $result->fetch_all(MYSQLI_ASSOC); $db->close(); $memcache->set('key', $data, 0, 3600);
}
En utilisant le code ci-dessus, les données peuvent être lues à partir de la base de données après la mise en cache. Memcache, accédez au cache pour obtenir des données dans les requêtes ultérieures, améliorant ainsi les performances de lecture des données.
4. Résumé
Cet article présente comment utiliser la technologie de mise en cache Memcache en PHP pour améliorer les performances de lecture des données. En mettant les données en cache en mémoire et en évitant les accès fréquents à la base de données, la charge sur la base de données peut être réduite et les performances du site Web peuvent être améliorées. Bien sûr, la technologie de mise en cache Memcache n'est pas parfaite, mais dans les applications réelles, Memcache reste une solution de mise en cache efficace et fiable.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!