Maison >base de données >Redis >Quelles sont les fonctions de Redis
De manière générale, en termes de limitations, Redis existe également sous la forme d'une file d'attente de messages et d'une liste intégrée pour répondre aux exigences de forte concurrence en temps réel. Habituellement, dans un processus de traitement de données de type e-commerce, les files d'attente de produits associés, les ventes chaudes et le tri recommandé sont généralement stockés dans Redis, et la lecture et la mise à jour de la liste Redis par Storm sont également incluses dans le processus.
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 et peut enregistrer les données en mémoire sur le disque et peut être réutilisé lors du redémarrage de la charge pour utilisation .
- 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.
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. 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 ultime de Redis dans le monde réel 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
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!