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>