Les cinq types de données couramment utilisés dans Redis sont : chaîne, hachage, liste, ensemble et ensemble trié
1. La liste supérieure avec le taux de clics le plus récent, le plus chaud, le plus élevé, l'activité la plus élevée, etc.
3. L'enregistrement d'accès récent de l'utilisateur est également un bon scénario d'application pour la liste Redis
4. Écrivez et consommez la file d'attente via les interfaces lpop et lpush. de la liste
5. L'extension fonctionnelle de Lua de Redis apporte en fait plus de scénarios d'application à Redis. Vous pouvez écrire plusieurs combinaisons de commandes sous forme de petite transaction non bloquante ou de logique de mise à jour
6 La fonction de synchronisation des données maître-esclave fournie par Redis en fait. Il s'agit d'une puissante extension fonctionnelle du cache
Résumé
Tant d'applications sont indissociables de toutes les fonctionnalités de RedisDécouvrez le mystère de RedisRedis est un open source (paire clé-valeur KEY-VALUE) , un serveur de structure de données en mémoire qui peut être utilisé comme courtier de base de données, de cache et de file d'attente de messages. Il adopte un modèle à processus unique et à thread unique et possède de fortes capacités de concurrence. Il s'agit de l'outil de mise en cache distribué principal dans l'architecture Internet actuelle. Conception d'architecture de cache haute performance Redis1. Conception d'architecture
Puisque Redis est un point unique et doit être utilisé dans le projet, la distribution doit être implémentée par vous-même. Le schéma d'architecture de base est le suivant :2. Implémentation distribuée
Utilisez la clé pour effectuer un hachage cohérent afin de réaliser la distribution des nœuds Redis correspondants aux clés. Mise en œuvre d'un hachage cohérent : Calcul de la valeur de hachage : en prenant en charge deux méthodes de calcul, MD5 et MurmurHash, MurmurHash est utilisé par défaut pour un calcul de hachage efficace. Atteinte de la cohérence : simulez la structure en anneau via TreeMap de Java pour obtenir une distribution uniforme3 Sélection du client
La principale modification de jedis est la modification du module de partition, afin qu'il prenne en charge BufferKey Pour le partitionnement, différents ShardInfos. peut être initialisé en fonction de différentes informations de nœud Redis. Dans le même temps, l'implémentation sous-jacente de JedisPool a été modifiée afin que le pool de pools de connexions prenne en charge la méthode de construction de clé et de valeur, et que différents Jedis puissent être créés en fonction de différents ShardInfos. le client pour obtenir l'effet de partitionnement, qui est appelé par la couche application4. Description du module
Le module de traitement des données sales gère les opérations de cache qui ne parviennent pas à s'exécuter. Module de surveillance Shield, pour la surveillance anormale des opérations Jedis, lorsqu'une anomalie se produit dans un nœud, il peut contrôler la suppression des nœuds Redis et d'autres opérations. L'ensemble du module distribué utilise hornetq pour supprimer les nœuds Redis anormaux. L'ajout de nouveaux nœuds peut également être réalisé grâce à la méthode de rechargement. (Ce module peut également être facilement implémenté pour ajouter de nouveaux nœuds)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!