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

Area Notifikasi dan Berita dengan menggunakan Redis

Menurut pendapat saya, fungsi ini harus ditangani di sisi server, terutama jika Anda mengharapkan pengguna menggunakan beberapa jenis klien (mis., browser, telepon, dll.)

Setiap acara Anda harus memiliki stempel waktu untuk mengetahui kapan setiap acara terjadi dan agar dapat melakukan pencarian rentang yang sesuai, jika Anda perlu mendapatkan, misalnya 24 jam terakhir acara, atau acara setelah stempel waktu X.

Kemudian ketika pengguna yang mengikuti pengguna lain melihat notifikasinya, Anda dapat menyetel stempel waktu sebagai pos pemeriksaan untuk mengetahui hingga peristiwa mana yang telah dilihat pengguna ini dan kemudian hanya menampilkan peristiwa setelah pos pemeriksaan tersebut.

Cara saya mengimplementasikan deret waktu dalam REDIS di salah satu proyek kami adalah dengan menggunakan Sorted Sets (http://redis.io/topics/data-types#sorted-sets). Dalam kasus Anda, Anda dapat menyimpan:

user1EventsKey -> [{ts1, eventKey1}, {ts2, eventKey2}, {ts3, eventKey3},... ]  
                                                           # This is the sorted set
eventKey1 -> [photo1, photo2, photo3]
eventKey2 -> [photo4, photo5]
...

user2Checkpoint -> tsA   #where  ts2 < tsA < ts3

Sekarang Anda tahu bahwa lain kali pengguna2 melihat notifikasi, Anda hanya akan menampilkan acara apa pun setelah tsA menggunakan ZRANGEBYSCORE user1EventsKey ts2 +inf untuk mendapatkan semua kunci acara dan kemudian satu per satu Anda dapat menampilkan acara.

PS. Stempel waktu dapat disimpan dalam format UNIX.

Saya harap ini membantu.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Apa itu Redis pubsub dan bagaimana cara menggunakannya?

  2. Redis cache vs menggunakan memori secara langsung

  3. Memeriksa apakah suatu nilai sudah ada dalam daftar Redis

  4. Bagaimana cara menyimpan elemen daftar di cache Redis

  5. Menyimpan nilai redis hget ke dalam variabel di nodejs