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