Maison  >  Article  >  développement back-end  >  Comment utiliser Memcache pour la mise en cache d'objets en PHP

Comment utiliser Memcache pour la mise en cache d'objets en PHP

王林
王林original
2023-05-16 15:51:23900parcourir

Avec le développement des applications Internet, la demande de performances et de vitesse est également de plus en plus élevée. Pour les développeurs PHP, l’un des problèmes de performances courants est l’efficacité des requêtes de base de données. Afin d'améliorer les performances, nous utilisons généralement une technologie de mise en cache, parmi laquelle la mise en cache d'objets est l'une des technologies de mise en cache courantes.

Dans la mise en cache d'objets, Memcache est devenue une technologie de mise en cache très populaire. Memcache est un système de mise en cache distribué hautes performances qui peut mettre en cache les données en mémoire pour améliorer la vitesse d'accès aux données. L'utilisation de Memcache pour la mise en cache d'objets en PHP peut considérablement améliorer les performances des applications. Ensuite, nous présenterons comment utiliser Memcache pour la mise en cache d'objets en PHP.

  1. Installer l'extension Memcache

Pour utiliser Memcache pour la mise en cache d'objets en PHP, vous devez d'abord installer l'extension Memcache. L'extension Memcache est une bibliothèque d'extensions pour PHP pouvant communiquer avec le serveur Memcache. Avant l'installation, vous devez confirmer si le serveur Memcache a été installé. S'il n'est pas installé, vous pouvez suivre les instructions sur le site officiel de Memcache (https://memcached.org/) pour l'installer.

L'installation de l'extension Memcache est relativement simple. Vous pouvez utiliser la commande suivante :

$ sudo apt-get install php-memcached

Une fois l'installation terminée, vous devez activer l'extension Memcache dans le fichier de configuration PHP php.ini. au fichier php.ini :

extension=memcached.so
  1. Connexion au serveur Memcache

Avant d'utiliser Memcache pour la mise en cache d'objets, vous devez d'abord vous connecter au serveur Memcache. Vous pouvez utiliser le code suivant pour vous connecter :

$memcache = new Memcached();
$memcache->addServer('127.0.0.1', 11211);

Parmi eux, les deux paramètres de la méthode addServer() représentent respectivement l'IP et le numéro de port du serveur Memcache. S'il existe plusieurs serveurs Memcache, vous pouvez utiliser la méthode addServer() pour ajouter plusieurs serveurs.

  1. Stockage d'objets dans Memcache

Après vous être connecté au serveur Memcache, vous pouvez utiliser la méthode set() pour stocker des objets dans Memcache. Les paramètres de la méthode set() sont des paires clé-valeur, qui représentent l'objet à stocker et le nom de clé de l'objet. Par exemple :

$object = new MyClass();  // 要存储的对象
$memcache->set('my_object', $object);

Une classe personnalisée MyClass est utilisée ici comme exemple de stockage d'objets. Bien entendu, vous pouvez également stocker directement des tableaux, des chaînes, des nombres et d'autres types de données dans Memcache.

Nous pouvons également définir un délai d'expiration afin que les objets stockés expirent automatiquement après une certaine période de temps. Par exemple, stockez un objet dans Memcache et définissez un délai d'expiration de 5 minutes :

$object = new MyClass();  // 要存储的对象
$memcache->set('my_object', $object, time()+300);

La fonction time() est utilisée ici pour obtenir l'horodatage actuel, et 300 secondes (5 minutes) sont ajoutées pour indiquer que l'objet est dans 5 minutes Il expirera automatiquement plus tard.

  1. Récupérer l'objet de Memcache

Après avoir stocké l'objet dans Memcache, nous pouvons utiliser la méthode get() pour obtenir l'objet de Memcache. Le paramètre de la méthode get() est le nom de clé de l'objet, par exemple :

$object = $memcache->get('my_object');

Si l'objet existe dans Memcache, l'objet sera renvoyé sinon, false sera renvoyé ;

  1. Déterminer si un objet existe dans Memcache

Lorsque nous utilisons Memcache pour la mise en cache d'objets, nous devons généralement déterminer si un objet existe dans Memcache. Vous pouvez utiliser la méthode get() pour obtenir la valeur de l'objet et déterminer si la valeur de retour est fausse. Par exemple :

if (($object = $memcache->get('my_object')) === false) {
    // 从数据库中读取该对象,并存储到Memcache中
    $object = new MyClass();
    $memcache->set('my_object', $object);
}

L'instruction if est utilisée ici pour déterminer si l'objet existe dans Memcache. S'il n'existe pas, l'objet est lu dans la base de données et stocké dans Memcache.

  1. Supprimer le cache d'objet

Si nous devons supprimer un objet de Memcache, nous pouvons utiliser la méthode delete() pour supprimer le cache de l'objet. Par exemple :

$memcache->delete('my_object');

Cela supprimera un cache d'objets avec le nom de clé my_object de Memcache.

Voici les étapes de base pour utiliser Memcache pour la mise en cache d'objets en PHP. L'utilisation de Memcache pour mettre en cache des objets peut améliorer considérablement les performances des applications PHP, réduire le nombre de requêtes de base de données et réduire la charge du serveur. Dans le même temps, Memcache possède également des caractéristiques distribuées et peut facilement étendre la capacité de chargement des applications. Il s'agit de l'une des technologies de mise en cache couramment utilisées par les développeurs PHP.

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!

Déclaration:
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