Comment utiliser la technologie de mise en cache Memcache pour améliorer les performances de lecture des données en PHP

WBOY
Libérer: 2023-05-15 20:16:02
original
1304 Les gens l'ont consulté

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

  1. Télécharger l'extension 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

  1. Configure php.ini

Ajoutez les lignes suivantes au fichier php.ini pour activer l'extension Memcache.

extension=memcache.so

  1. Démarrez le service Memcached

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

  1. Testez si Memcache est disponible

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

  1. stocker les données mises en cache

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.

  1. Lire les données du cache

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.

  1. Supprimer les données mises en cache

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.

  1. Obtenir des 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);
Copier après la connexion
Copier après la connexion

}

  1. Lire les données

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);
Copier après la connexion
Copier après la connexion

}

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!