Vous pouvez trier par constantes stockées dans des clés.
Dans votre exemple, je peux trier 1.
presque trivialement en utilisant Redis. Si vous stockez les autres valeurs d'expression après les avoir calculées, vous pouvez également les trier. Pour 1.
, vous devrez stocker le nombre de listes quelque part, je supposerai news:n:upvotes:count
.
Le hic est d'utiliser la commande SORT. Par exemple, le premier tri serait :
SORT news::list BY news:*:upvotes:count GET news:*->title GET news:*->url
... pour obtenir les titres et les URL triés par votes positifs, par ordre croissant.
Il y a aussi des modificateurs, pour alpha
tri, et asc/desc
tri. Lisez entièrement la page de commande, cela en vaut la peine.
PS :Vous pouvez envelopper le comptage, stocker, trier et éventuellement supprimer le comptage dans un environnement MULTI/EXEC (une transaction).