Maison >
base de données >
Redis >
À propos de l'implémentation de Java par liste de classement basée sur la collection ordonnée Redis
À propos de l'implémentation de Java par liste de classement basée sur la collection ordonnée Redis
藏色散人
Libérer: 2020-09-11 13:23:18
avant
2264 Les gens l'ont consulté
La colonne suivante vous présentera la liste de classement des implémentations de collection ordonnée Redis basée sur Java. J'espère qu'elle vous sera utile. aux amis dans le besoin !
Avant-propos
Élément presque indispensable dans les applications Internet, les classements peuvent susciter le désir de comparaison des êtres humains. Les produits d'un certain trésor sont nombreux. des moyens de mettre en œuvre des classements tels que les classements des ventes, les classements de réputation des magasins, etc. Vous pouvez utiliser l'algorithme de tri rapide + implémenter l'interface Comparator pour trier selon un certain poids. Désormais, de nombreuses entreprises utilisent Redis, une base de données NoSQL, pour implémenter la fonction de classement.
Mise en œuvre de classements basés sur Redis
Ce que nous devons faire maintenant, c'est classer les entreprises. Le critère de classement est le nombre de fois que les utilisateurs recherchent l'entreprise et établissent un classement des dix premières. entreprises
1. Connaissances redis pertinentes
La structure de données redis liée à la mise en œuvre de la fonction de classement est un ensemble de tri (ensemble ordonné)
À propos de l'ensemble de tri
Nous savons que l'ensemble est une sorte d'ensemble. L'une des caractéristiques d'un ensemble est qu'il n'a pas d'éléments en double, un ensemble de tri a également une autre caractéristique qui est l'ordre.
Composition de la structure des données :
Clé : l'identifiant unique de l'ensemble de tri Poids : également appelé score (score) redis trie les éléments de l'ensemble en ordre croissant par poids Tri (par défaut), les poids peuvent être répétés
valeur : définir les éléments, les éléments ne peuvent pas être répétés
1
String(set key),double(权重),String(value)
Copier après la connexion
l'ensemble de tri est implémenté via une table de hachage, donc en ajoutant, fonction et temps de recherche La complexité est O(1), et chaque collection peut stocker plus de 4 milliards d'éléments
Commandes de base
Ajouter un ou plusieurs éléments à la collection
1
ZADD "KEY"SCORE "VALUE"[ SCORE "VALUE"]
Copier après la connexion
Effet :
1
<strong>MyRedis:0>ZADD test 1 "one""1"MyRedis:0>zadd test 4 "four"5 "five""2"</strong>
Copier après la connexion
Obtenir le nombre d'éléments dans l'ensemble
1
ZCARD "key"
Copier après la connexion
Effet
1
<strong>MyRedis:0>ZCARD test"5"</strong>
Copier après la connexion
Obtenir le score de l'élément spécifié (poids)
1
ZSCORE "KEY""VALUE"
Copier après la connexion
Effet
1
<strong>MyRedis:0>ZSCORE "test""one""2"</strong>
Copier après la connexion
L'élément spécifié de la collection spécifiée augmente le score spécifié
Étant donné que le classement a des exigences élevées en temps réel, je pense personnellement qu'il n'est pas nécessaire de le conserver dans la base de données
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