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

Memfilter elemen di Redis

Bagaimana Anda menerapkan skema terakhir di Redis? Apakah mungkin?

Redis tanpa skema . Sebut saja apa yang Anda butuhkan dengan pendekatan penyimpanan data .

Salah satu pendekatan yang mungkin adalah menggunakan HSET atau HMSET untuk menambahkan objek JSON ini dengan id, di mana id-nya adalah key dan teks JSON adalah nilai . Kami akan menyebut hash ini sebagai users:byid .

Ini adalah bagian pertama dari masalah. Sekarang Anda bisa mendapatkan objek dengan id .

Sekarang masalah berikutnya adalah Anda ingin mengambil objek dalam rentang yang Anda sebut peringkat . Untuk mendapatkan ini, Anda perlu menyimpan objek Anda dalam kumpulan yang diurutkan menggunakan ZADD . Kumpulan yang diurutkan diurutkan berdasarkan skor, dan item disimpan dengan skor . Kedengarannya sempurna untuk kasus penggunaan Anda!

Sebenarnya Anda akan menyimpan id objek di seluruh rangkaian yang diurutkan:

zadd users:byranking 10 1 5 2

... di mana 10 adalah skor (yaitu nilai peringkat Anda yang sebenarnya) dan 1 id dan seterusnya.

Jadi, bagaimana Anda memfilter item berdasarkan peringkat? Menggunakan ZRANGEBYSCORE :

  • Berdasarkan peringkat antara 0 dan 10, tidak termasuk 10. zrangebyscore users:byranking 0 (10
  • Berdasarkan peringkat antara 0 dan 10, termasuk 10. zrangebyscore users:byranking 0 10

Yang disebut ZRANGEBYSCORE akan memberi Anda id pengguna yang diambil. Bagaimana Anda mendapatkan teks JSON mereka? Menggunakan HMGET :

 HMGET users:byid 1 2

...yang akan mendapatkan kedua pengguna dengan id 1 dan 2 , jika 10 peringkat bersifat inklusif.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Adakah yang bisa menjelaskan perintah redis setbit?

  2. Redis / Dapatkan semua kunci &nilai dari redis dengan awalan

  3. atur kunci kedaluwarsa pada waktu tertentu saat menggunakan Spring caching dengan Redis

  4. Eksekusi/penjadwalan tertunda dengan Redis?

  5. Apakah ada cara untuk bekerja dengan sesi tanpa mengunci situs ASP.Net MVC?