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

Bagaimana cara menyimpan hasil pencarian pohon katalog gabungan di Redis

Jika menginginkan kecepatan, sebaiknya persiapkan sebaik mungkin saat menyimpan struktur atau 'cache' di redis. Jika menyimpan produk dalam HSET , dan tambahkan penghitung kategori (satu per kategori) di samping anggota 'data produk' Anda di HSET ini , Anda dapat menggunakan HINCRBY untuk menambah/mengurangi penghitung.

Secara umum (mendesain cache Redis untuk kebutuhan Anda):Anda harus mencoba mencegah pengambilan data apa pun yang tidak Anda perlukan.

Saya merekomendasikan untuk menggunakan skrip Lua untuk menyimpan (/ memperbarui/menghapus) serta mengambil laporan gabungan Anda. Skrip Lua dieksekusi di server Redis. ServiceStack mendukungnya (SCRIPT LOAD + EVALSHA atau cukup EVAL ), dan Anda juga dapat mencoba modul klien BookSleeve C# (yang kami gunakan, dan sedikit lebih cepat. 'lebih cepat' :desain redis-data yang baik tentu saja diutamakan). Klien C# BookSleeve berfokus pada perpipaan redis multithreaded, yang mungkin Anda inginkan ketika berhadapan dengan kumpulan data besar. Pipelining juga dapat dilakukan dengan ServiceStack.

Jika kategori dan produk memiliki ID bilangan bulat, Anda juga dapat menggabungkannya dengan ZSET , di mana Anda dapat menggunakan ID sebagai bidang skor. Dengan ZRANGEBYSCORE Anda bisa langsung mendapatkan 'catatan'. Teknik ini aman selama ID Anda menggunakan 15 digit atau kurang, dan tidak menggunakan bagian desimal dari 'skor'. Jadi ID harus tetap dalam kisaran -999999999999999 hingga 999999999999999. Catatan:Batasan ini ada karena server Redis sebenarnya menyimpan skor (float) sebagai representasi string redis secara internal.

Semoga membantu, TW




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Beberapa kunci yang menunjuk ke nilai tunggal di Redis (Cache) dengan java

  2. Simpan beberapa versi data dalam cache Redis

  3. Node.js, Socket.io, Redis pub/sub volume tinggi, kesulitan latensi rendah

  4. Apakah ada mekanisme penguncian di Azure Redis Cache saat memperbarui item?

  5. Apakah Redis hanya cache?