Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

Redis desain struktur data untuk menyortir nilai berbasis waktu

Gunakan kumpulan yang diurutkan ulang.

Kumpulan yang diurutkan menyimpan data berdasarkan "skor", jadi dalam kasus Anda, cukup gunakan cap waktu dalam milis; data akan diurutkan secara otomatis, memungkinkan Anda untuk mengambil item historis menggunakan rentang tanggal mulai/akhir, berikut contohnya...

Tambahkan item ke kumpulan yang diurutkan...

zadd historical <timestamp> <dataValue>

..tambahkan beberapa contoh data..

 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

..ambil subset item menggunakan rentang awal/akhir...

 zrangebyscore historical 2 5

..kembali...

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

Jadi, dalam kasus Anda, jika Anda ingin mengambil semua benda bersejarah untuk hari terakhir, lakukan saja ini...

zrangebyscore historical <currentTimeInMillis - 86400000> <currentTimeInMillis> 



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara menyimpan dan keluar dari redis.conf?

  2. kompilasi klien redis kustom gagal

  3. Tidak dapat terhubung ke Redis dari Docker

  4. tidak dapat terhubung ke penampung redis dari penampung aplikasi

  5. Eksekusi paralel dengan StackExchange.Redis?