Du kan sortera efter konstanter lagrade i nycklar.
I ditt exempel kan jag sortera 1.
nästan trivialt med Redis. Om du lagrar de andra uttrycksvärdena efter att ha beräknat dem kan du sortera efter dem också. För 1.
, du måste lagra listantalet någonstans, jag antar att news:n:upvotes:count
.
Haken är att använda kommandot SORT. Till exempel skulle den första sorten vara:
SORT news::list BY news:*:upvotes:count GET news:*->title GET news:*->url
...för att få titlar och webbadresser sorterade efter uppröster, i halvmåneordning.
Det finns även modifierare för alpha
sortering och asc/desc
sortering. Läs hela kommandosidan, det är värt besväret.
PS:Du kan slå in räkningen, lagra, sortera och eventuellt radera räkningen i en MULTI/EXEC-miljö (en transaktion).