Maison  >  Article  >  développement back-end  >  Comment utiliser l'extension Redis de PHP ?

Comment utiliser l'extension Redis de PHP ?

WBOY
WBOYoriginal
2023-05-31 14:40:363102parcourir

À mesure que le nombre d'applications Web augmente, la manière de gérer efficacement les données et le cache devient de plus en plus importante. Pour résoudre les problèmes de mise en cache, Redis est devenu un choix courant parmi les développeurs Web. Dans cet article, nous verrons comment utiliser l'extension Redis de PHP pour interagir avec Redis.

Redis est un système de stockage clé-valeur hautes performances couramment utilisé comme cache ou pour stocker des structures de données. Redis intègre une réplication, des scripts Lua, l'élimination de LRU, des transactions et différents niveaux de persistance du disque. Redis est particulièrement adapté aux scénarios à haute concurrence et à faible latence comme les applications Web.

L'extension PHP Redis est un wrapper PHP permettant d'interagir avec le serveur Redis. Il fournit une interface facile à utiliser pour interagir avec Redis à l'aide de différentes commandes Redis. Les extensions Redis peuvent améliorer considérablement les performances des applications Web et offrir une meilleure fiabilité et évolutivité.

Comment utiliser l'extension PHP Redis ?

Tout d'abord, nous devons installer et configurer l'extension PHP Redis. Grâce au gestionnaire de packages Pecl, nous pouvons facilement installer l'extension Redis :

pecl install redis

Une fois l'installation terminée, nous devons ajouter le code suivant dans le fichier php.ini :

extension=redis.so

Redémarrez ensuite le serveur web pour que les modifications prennent effet. effet. Maintenant que l'extension Redis est installée et configurée, voyons comment l'utiliser.

Connexion au serveur Redis

Pour nous connecter au serveur Redis à partir du code PHP, nous pouvons utiliser le code suivant :

$redis = new Redis();
$redis->connect('127.0.0.1', 6379);

Dans cet exemple, nous créons un objet Redis et nous nous connectons au serveur Redis à l'aide de la méthode connect(). Une fois la connexion réussie, nous pouvons utiliser la variable $redis pour effectuer n'importe quelle opération Redis.

Définir et obtenir des valeurs

Redis est un système de stockage clé-valeur, nous pouvons utiliser les méthodes set() et get() pour définir et obtenir des valeurs. Par exemple :

$redis->set('key', 'value');
$value = $redis->get('key');

Dans cet exemple, nous utilisons la méthode set() pour stocker la valeur "value" dans la clé "key" et utilisons la méthode get() pour obtenir la valeur. Cela renverra la valeur stockée dans "key".

Certaines autres commandes Redis sont également disponibles, telles que incr() et decr() pour augmenter et diminuer la valeur du compteur, hmset() et hgetall() pour définir et obtenir la valeur de la table de hachage, etc. .

Abonnement et publication (Pub/Sub)

Redis prend en charge le mode Pub/Sub, dans lequel vous pouvez vous abonner à une chaîne spécifique pour obtenir des messages, ou vous pouvez utiliser la méthode publier() pour publier des messages sur la chaîne. Par exemple :

$redis->subscribe(array('channel'), function($redis, $channel, $message) {
  echo "Received message on channel $channel: $message
";
});

Dans cet exemple, nous utilisons la méthode Subscribe() pour nous abonner à une chaîne nommée "channel" et recevoir tous les messages dans la fonction de rappel. La fonction de rappel sera appelée lorsqu'un nouveau message sera publié sur le canal "channel".

Caching

Il est très courant d'utiliser Redis comme cache pour les applications Web. En stockant les résultats des requêtes dans Redis, nous pouvons améliorer considérablement les performances de nos applications Web. Par exemple, nous pouvons mettre en cache un résultat de base de données défini par :

// 尝试从缓存中获取数据
$cachedResult = $redis->get('my_db_query_result');

// 如果没有缓存,请从数据库获取结果
if (!$cachedResult) {
  $query = "SELECT * FROM my_table";
  $result = $db->query($query);
  
  // 将结果存储在Redis缓存中
  $redis->set('my_db_query_result', serialize($result));
  
  // 设置此键在15分钟后过期
  $redis->expire('my_db_query_result', 900);
} else {
  // 从缓存中反序列化结果并使用它
  $result = unserialize($cachedResult);
}

// 使用结果作为适合的方式

Dans cet exemple, nous essayons d'abord d'obtenir les données du cache Redis. S'il n'y a pas de cache, nous récupérons le jeu de résultats de la base de données et le stockons dans le cache Redis. Nous définissons la clé pour qu'elle expire après 15 minutes pour garantir que le cache ne devienne pas obsolète. Si le cache existe, désérialisez le résultat directement à partir de celui-ci et utilisez-le.

Conclusion

L'extension PHP Redis est idéale pour la mise en cache et le traitement des données dans les applications Web. Grâce à l'extension PHP Redis, nous pouvons facilement interagir avec Redis, améliorant ainsi les performances de nos applications Web. Cet article explique comment installer et configurer l'extension PHP Redis et montre comment l'utiliser pour se connecter à un serveur Redis, définir et obtenir des valeurs, s'abonner et publier, et utiliser Redis comme cache.

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