Maison  >  Article  >  base de données  >  Quelles sont les utilisations de Redis

Quelles sont les utilisations de Redis

藏色散人
藏色散人original
2019-10-17 14:26:363373parcourir

Quelles sont les utilisations de Redis

Introduction à Redis

Redis est une base de données clé-valeur hautes performances.

Redis possède les trois fonctionnalités suivantes avec d'autres produits de mise en cache clé-valeur :

- Redis prend en charge la persistance des données, peut enregistrer les données en mémoire sur le disque et peut être réutilisé lors du redémarrage de Load for utiliser.

- Redis prend non seulement en charge les données de type clé-valeur simples, mais fournit également le stockage de structures de données telles que la liste, l'ensemble, le zset et le hachage.

- Redis prend en charge la sauvegarde des données, c'est-à-dire la sauvegarde des données en mode maître-esclave.

Quelles sont les utilisations de Redis ?

Cinq utilisations

1.

Mise en cache pleine page. Si vous utilisez du contenu rendu côté serveur, vous n'avez pas besoin de restituer chaque page pour chaque demande individuelle. En utilisant un cache comme Redis, vous pouvez mettre en cache le contenu fréquemment demandé, réduisant ainsi considérablement la latence des pages les plus demandées, et la plupart des frameworks ont des hooks pour les pages de mise en cache Redis.

// 设置全页面缓存1分钟
SET key "<html>...</html>" EX 60
// 获取全页面
GET key

2. Disposition séquentielle

Étant donné que la structure de données Redis Set en mémoire peut être incrémentée et décrémentée très rapidement et efficacement, les performances sont bien supérieures à celles d'une requête SQL. Comparez cela en combinaison avec les ensembles triés de Redis, ce qui signifie que vous pouvez récupérer l'élément le mieux noté d'une liste en millisecondes, et c'est très facile à mettre en œuvre.

// 向排序集合中添加值
ZADD sortedSet 1 "one"
// 从排序集合中获取所有值
ZRANGE sortedSet 0 -1
// 从排序集合中获取所有值与权重
ZRANGE sortedSet 0 -1 WITHSCORES

3. Stockage de session

L'utilisation la plus courante de Redis que j'ai vue est le stockage de session. Contrairement à d'autres magasins de sessions tels que Memcache, Redis peut conserver les données de sorte que si le cache est arrêté, au redémarrage, toutes les données sont toujours là. Même s’il ne s’agit pas d’une tâche strictement continue, cette fonctionnalité peut quand même épargner bien des ennuis à vos utilisateurs. Personne n’aime voir ses conversations supprimées au hasard et sans raison.

// 设置一分钟过期的session
SET randomHash "{userId}" EX 60
// 获取用户ID
GET randomHash

4. Files d'attente

Une chose moins courante, mais très utile, que vous pouvez faire avec Redis est la mise en file d'attente. Qu'il s'agisse d'une file d'attente de courrier électronique ou de données utilisées par d'autres applications, vous pouvez créer une file d'attente efficace dans Redis. Tout développeur familier avec la pile et capable de pousser et de lancer des projets peut utiliser cette fonctionnalité facilement et naturellement.

// 添加消息  
HSET messages <id> <message>
ZADD due <due_timestamp> <id>
// 接收消息
ZRANGEBYSCORE due -inf <current_timestamp> LIMIT 0 1  
HGET messages <message_id>
// 删除消息
ZREM due <message_id>
HDEL messages <message_id>

5.pub/sub

L'utilisation réelle ultime de Redis est le pub/sub que je présenterai dans cet article. C'est l'une des fonctionnalités les plus puissantes intégrées à Redis ; les possibilités sont infinies. Vous pouvez créer un système de chat en temps réel, déclencher des notifications pour les demandes d'amis sur les réseaux sociaux, et bien plus encore. Cette fonctionnalité est l’une des fonctionnalités les plus sous-estimées fournies par Redis, mais elle est extrêmement puissante et simple à utiliser.

// 向通道中推送消息
PUBLISH channel message
// 从通道中获取消息
SUBSCRIBE channel

Conclusion

J'espère que vous avez apprécié ces utilisations réelles de Redis. Bien que cet article ne fasse qu'effleurer la surface de ce que Redis peut faire pour vous, j'espère que vous trouverez de l'inspiration sur la façon de tirer le meilleur parti de Redis.

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