Redis
 sql >> Database >  >> NoSQL >> Redis

Redis TimeSeries è lo strumento giusto per catturare i candelieri nei prezzi delle azioni

  1. Non è possibile inviare più di un'aggregazione a una serie di downsampling poiché ogni timestamp può contenerne una singola. Puoi utilizzare le etichette per interrogare tutte le serie contemporaneamente.
  2. RedisTimeSeries sarebbe una buona soluzione in quanto eseguirà il downsampling dei dati al momento dell'inserimento, quindi interrogarli sarebbe super veloce. Utilizza anche la compressione a doppio delta, il che significa che i tuoi dati richiederanno meno memoria rispetto ad altre soluzioni. Puoi persino utilizzare la conservazione per ritirare i dati di origine se tutto ciò che ti interessa sono i candelieri.
r.create('XYZ_PRICES', retention_msecs=300000, labels={'name':'xyz', 'type:src'})
 
r.create(opeing_price, labels={'name':'xyz', 'type:opening'})
r.create(closing_price, labels={'name':'xyz', 'type:closing'})
r.create(highest_price, labels={'name':'xyz', 'type:highest'})
r.create(lowest_price, labels={'name':'xyz', 'type:lowest'})

r.createrule(src, 'opening_price', 'first', bucket_size_msec=60000)
r.createrule(src, 'closing_price', 'last', bucket_size_msec=60000)
r.createrule(src, 'lowest_price', 'min', bucket_size_msec=60000)
r.createrule(src, 'highest_price', 'max', bucket_size_msec=60000)