Você pode classificar por constantes armazenadas em chaves.
No seu exemplo, posso classificar
1.
quase trivialmente usando o Redis. Se você armazenar os outros valores de expressão depois de calculá-los, também poderá classificá-los. Para 1.
, você precisará armazenar a contagem da lista em algum lugar, assumirei news:n:upvotes:count
. O problema é usar o comando SORT. Por exemplo, a primeira classificação seria:
SORT news::list BY news:*:upvotes:count GET news:*->title GET news:*->url
...para obter títulos e URLs classificados por votos positivos, em ordem crescente.
Existem modificadores também, para
alpha
classificação e asc/desc
Ordenação. Leia a página de comando inteiramente, vale a pena. PS:Você pode agrupar a contagem, armazenar, classificar e possivelmente excluir a contagem em um ambiente MULTI/EXEC (uma transação).