Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Design de estrutura de dados do Redis para classificar valores baseados em tempo


Use conjuntos ordenados redis.

Conjuntos ordenados armazenam dados com base em "pontuações", portanto, no seu caso, basta usar um carimbo de data/hora em milis; os dados serão classificados automaticamente, permitindo que você recupere itens históricos usando intervalos de datas de início/término, aqui está um exemplo...

Adicionar itens a um conjunto classificado...
zadd historical <timestamp> <dataValue>

..adicione alguns dados de exemplo..
 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 um subconjunto de itens usando o intervalo inicial/final...
 zrangebyscore historical 2 5

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

Então, no seu caso, se você quiser recuperar todos os itens históricos do último dia, faça isso...
zrangebyscore historical <currentTimeInMillis - 86400000> <currentTimeInMillis>