sql >> Base de Datos >  >> NoSQL >> Redis

Clasificación dinámica con Redis

Puede ordenar por constantes almacenadas en claves.

En tu ejemplo, puedo ordenar 1. casi trivialmente usando Redis. Si almacena los otros valores de expresión después de calcularlos, también puede ordenarlos. Para 1. , deberá almacenar el recuento de la lista en algún lugar, asumiré news:n:upvotes:count .

El truco es usar el comando ORDENAR. Por ejemplo, el primer tipo sería:

SORT news::list BY news:*:upvotes:count GET news:*->title GET news:*->url

...para obtener títulos y URL ordenados por votos a favor, en orden creciente.

También hay modificadores, para alpha ordenar y asc/desc clasificación. Lea la página de comandos por completo, vale la pena.

PD:Puede envolver el conteo, almacenar, clasificar y posiblemente eliminar el conteo en un entorno MULTI/EXEC (una transacción).