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

Diseño de estructura de datos de Redis para ordenar valores basados ​​en el tiempo

Usar conjuntos ordenados redis.

Los conjuntos ordenados almacenan datos basados ​​en "puntajes", por lo que en su caso, solo use una marca de tiempo en milisegundos; los datos se ordenarán automáticamente, lo que le permitirá recuperar elementos históricos utilizando rangos de fechas de inicio/finalización, aquí hay un ejemplo...

Añadir elementos a un conjunto ordenado...

zadd historical <timestamp> <dataValue>

..añadir algunos datos de muestra..

 zadd historical 1 data1
 zadd historical 2 data2
 zadd historical 3 data3
 zadd historical 4 data4
 zadd historical 5 data5
 zadd historical 6 data6
 zadd historical 7 data7

..recuperar un subconjunto de elementos usando el rango de inicio/fin...

 zrangebyscore historical 2 5

..devuelve...

1) "data2"
2) "data3"
3) "data4"
4) "data5"

Entonces, en su caso, si desea recuperar todos los elementos históricos del último día, simplemente haga esto...

zrangebyscore historical <currentTimeInMillis - 86400000> <currentTimeInMillis>