hset ne peut pas être trié directement. Il existe une alternative pour obtenir l’équivalent du tri hset, qui consiste à utiliser la fonction sort. Sort ne peut généralement trier que des listes, des ensembles et des zsets, mais il peut être modifié. Le tri est utilisé comme suit :
Touche SORT [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC | DESC] [ALPHA] [STORE destination]
Faites attention à ses paramètres de stockage et de stockage. by est utilisé pour déterminer sur quel champ trier, et le magasin peut enregistrer les résultats du tri dans une liste. Vous pouvez d'abord enregistrer toutes les clés de hachage dans un ensemble, par exemple, le nom de clé de cet ensemble est myhashes, puis trier en fonction du champ de score de chaque élément de l'ensemble (c'est-à-dire chaque hachage), et enfin enregistrer les résultats du tri. dans Dans la liste avec le nom de clé myresult. Le résultat du tri ici est bien sûr les noms de clé de tous les éléments de l'ensemble (c'est-à-dire toutes les clés de hachage). Vous pouvez obtenir les noms de clé de tous les éléments de l'ensemble en ajoutant # au paramètre GET. :
TRIER mes hachages PAR *->score GET # STORE myresult
SORT remplacera le * dans le paramètre BY par chaque valeur de myhashes (c'est-à-dire le nom de chaque clé de hachage), et obtiendra sa valeur en fonction des champs donnés après ->, et enfin comparera les champs de myhashes en fonction de ces valeurs de champ. Chaque valeur est triée. De cette façon, myresult contient des noms de clés de hachage qui ont été triés en fonction du score.
Enfin, je pense qu'il y a quelque chose qui ne va pas avec votre conception de hachage. Le hachage ressemble plus à une ligne dans une base de données SQL, avec plusieurs champs, et chaque champ a une valeur correspondante. Si vous n'avez qu'un champ de score, pensez à utiliser zset.
HashSetNe peut pas être organisé directement. Vous devez conserver un SortedSet distinct, qui stocke uniquement l'ID utilisateur et les scores correspondants.
hset ne peut pas être trié directement. Il existe une alternative pour obtenir l’équivalent du tri hset, qui consiste à utiliser la fonction sort. Sort ne peut généralement trier que des listes, des ensembles et des zsets, mais il peut être modifié. Le tri est utilisé comme suit :
Touche SORT [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC | DESC] [ALPHA] [STORE destination]
Faites attention à ses paramètres de stockage et de stockage. by est utilisé pour déterminer sur quel champ trier, et le magasin peut enregistrer les résultats du tri dans une liste. Vous pouvez d'abord enregistrer toutes les clés de hachage dans un ensemble, par exemple, le nom de clé de cet ensemble est myhashes, puis trier en fonction du champ de score de chaque élément de l'ensemble (c'est-à-dire chaque hachage), et enfin enregistrer les résultats du tri. dans Dans la liste avec le nom de clé myresult. Le résultat du tri ici est bien sûr les noms de clé de tous les éléments de l'ensemble (c'est-à-dire toutes les clés de hachage). Vous pouvez obtenir les noms de clé de tous les éléments de l'ensemble en ajoutant # au paramètre GET. :
TRIER mes hachages PAR *->score GET # STORE myresult
SORT remplacera le * dans le paramètre BY par chaque valeur de myhashes (c'est-à-dire le nom de chaque clé de hachage), et obtiendra sa valeur en fonction des champs donnés après ->, et enfin comparera les champs de myhashes en fonction de ces valeurs de champ. Chaque valeur est triée. De cette façon, myresult contient des noms de clés de hachage qui ont été triés en fonction du score.
Enfin, je pense qu'il y a quelque chose qui ne va pas avec votre conception de hachage. Le hachage ressemble plus à une ligne dans une base de données SQL, avec plusieurs champs, et chaque champ a une valeur correspondante. Si vous n'avez qu'un champ de score, pensez à utiliser zset.
HashSet
Ne peut pas être organisé directement. Vous devez conserver unSortedSet
distinct, qui stocke uniquement l'ID utilisateur et les scores correspondants.Je ne sais pas si c'est ce que ça veut dire
Téléchargez simplement le code
Documentation
http://redis.cn/commands/sort.html
Le hachage ne peut pas être trié.
Si vous avez besoin de trier, veuillez utiliser l'opération ZSET, ZADD SCORES MEMBERS
L'idée est :
PS encore une fois, si votre HASH est uniquement utilisé pour stocker une clé de hachage, SCORES n'est pas recommandé de le stocker de cette façon..