Maison  >  Article  >  interface Web  >  Analyse de 5 scénarios d'application courants de Redis

Analyse de 5 scénarios d'application courants de Redis

小云云
小云云original
2018-02-28 15:11:177054parcourir

Si vous avez l'impression que Redis n'est qu'un magasin clé-valeur, alors vous avez manqué de nombreuses fonctionnalités puissantes de Redis, un stockage de mémoire puissant avec des structures de données riches, qui peut être utilisé dans de nombreux aspects, notamment en tant que stockage. base de données, cache, file d'attente de messages, etc.

1. Mise en cache pleine page

Si vous utilisez le rendu de contenu côté serveur et que vous ne souhaitez pas restituer chaque page pour chaque requête, vous pouvez utiliser Redis pour mettre en cache les demandes fréquemment demandées. La mise en cache du contenu peut réduire considérablement le délai des requêtes de pages. De nombreux frameworks utilisent déjà Redis pour mettre les pages en cache.

// Set the page that will last 1 minute
SET key "<html>...</html>" EX 60
// Get the page
GET key

2. Liste de classement

Redis est basé sur la mémoire et peut gérer les opérations d'augmentation et de diminution très rapidement et efficacement. Par rapport à la méthode de traitement des requêtes SQL, l'amélioration des performances est très importante. Énorme.

La collection ordonnée de Redis peut facilement parvenir à « obtenir les N premiers éléments d'une grande liste » en millisecondes et est très simple.

// Add an item to the sorted set
ZADD sortedSet 1 "one"
// Get all items from the sorted set
ZRANGE sortedSet 0 -1
// Get all items from the sorted set with their score
ZRANGE sortedSet 0 -1 WITHSCORES

3. Stockage de session

C'est peut-être le point le plus largement utilisé par rapport au stockage de session comme Memcache, Redis a la capacité de conserver les données du cache lorsque le cache est dû. Après qu'un problème survienne et que vous redémarrez, les données précédemment mises en cache sont toujours là. Ceci est plus pratique et évite les problèmes d'expérience utilisateur causés par la disparition soudaine de la session.

// Set session that will last 1 minute
SET randomHash "{userId}" EX 60
// Get userId
GET randomHash

4. File d'attente

Par exemple, la file d'attente d'envoi d'e-mails et la file d'attente de données en attente d'être consommées par d'autres applications peuvent facilement et naturellement créer une file d'attente efficace.

// Add a Message
HSET messages <id> <message>
ZADD due <due_timestamp> <id>
// Recieving Message
ZRANGEBYSCORE due -inf <current_timestamp> LIMIT 0 1
HGET messages <message_id>
// Delete  Message
ZREM due <message_id>
HDEL messages <message_id>

5. Publier/Abonnez-vous

pub/sub est une fonctionnalité très puissante intégrée à Redis. Par exemple, il peut créer un système de chat en temps réel, des déclencheurs de notifications dans les réseaux sociaux. , etc. attendez.

// Add a message to a channel
PUBLISH channel message
// Recieve messages from a channel
SUBSCRIBE channel

Recommandations associées :

PHP utilisant des exemples Redis pour expliquer

PHP sur la définition et l'utilisation du classe de compteur redis

Scénarios dans lesquels Redis doit être utilisé dans des projets 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
Article précédent:微信小程序速查知识Article suivant:redux-saga中take如何使用