Apakah Redis Cache mendukung kemampuan kueri

Saya sedang mempelajari cache redis, hanya ingin tahu bahwa cache tersebut mendukung kemampuan kueri.

Kami memiliki tabel lokasi, ingin menyimpan catatan di cache redis (Perlu mencari berdasarkan nama lokasi atau id).

Beri tahu saya cara kami membuat kunci untuk hal yang sama.

atau Apakah kita perlu menambahkan dua entri ke cache redis

 jedis.set(TenantId+LocationName, Location)

 jedis.set(TenantId+LocationId, Location)

Terima kasih sebelumnya !!!


person java baby    schedule 11.03.2016    source sumber


Jawaban (1)


Redis mengizinkan pembuatan kueri, tetapi seperti database NoSQL lainnya, Anda ingin data disimpan di dalamnya sesuai dengan cara Anda menanyakannya. Jika Anda perlu melakukan kueri berdasarkan nama atau id, Anda memerlukan dua "entri" untuk memfasilitasinya (BTW, ini tidak jauh berbeda dengan apa yang dilakukan RDBMS dengan indeks).

Namun, alih-alih membuat dua kunci - satu untuk pencarian nama dan satu lagi untuk id - dengan perintah SET , Anda harus mempertimbangkan untuk menggunakan struktur data Hash. Untuk setiap penyewa, simpan Hash dengan dua bidang per lokasi - bidang yang memetakan dari nama ke id dan sebaliknya. Dalam pemanggilan pseudo-Java HMSET akan terlihat seperti:

jedis.hmset(TenantId, <LocationName, Location, locationId, Location>);
person Itamar Haber    schedule 11.03.2016