Tout d’abord, présentons brièvement Redis.
(Partage vidéo d'apprentissage : tutoriel vidéo Redis)
Redis est une base de données clé-valeur hautes performances. Redis et d'autres produits de cache clé-valeur ont les trois caractéristiques suivantes :
1. Redis prend en charge la persistance des données. Il peut enregistrer les données en mémoire sur le disque et les charger à nouveau pour les utiliser lors du redémarrage.
2. 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 liste, ensemble, zset et hachage.
3. Redis prend en charge la sauvegarde des données, c'est-à-dire la sauvegarde des données en mode maître-esclave.
Cinq utilisations
1. Mise en cache pleine page
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 Set de Redis 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 des requêtes 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. Queue
Une chose moins courante, mais très utile, que vous pouvez faire avec Redis est la 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 ultime de Redis dans le monde réel est le pub/sub que je vais proposer 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.
Recommandations associées : Tutoriel sur la base de données 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!