Redis
 sql >> Base de données >  >> NoSQL >> Redis

Tri dynamique avec Redis

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).