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

Pengindeksan menggunakan set yang diurutkan Redis

  1. Saya sangat tidak menganjurkan penggunaan Redis untuk ini. Anda akan menyimpan banyak sekali data pointer tambahan, dan jika Anda memutuskan ingin melakukan kueri yang lebih rumit seperti, SELECT WHERE first_name LIKE 'jon%' Anda akan mengalami masalah. Anda juga perlu merekayasa indeks ekstra yang sangat besar yang melintasi beberapa kolom, jika Anda ingin mencari dua bidang secara bersamaan. Anda pada dasarnya harus terus meretas dan merekayasa ulang kerangka kerja pencarian. Anda akan jauh lebih baik menggunakan Elastic Search atau Solr, atau kerangka kerja lain yang sudah dibuat untuk melakukan apa yang Anda coba lakukan. Redis luar biasa dan memiliki banyak kegunaan yang baik. Ini bukan salah satunya.

  2. Selain peringatan, untuk menjawab pertanyaan Anda yang sebenarnya:Saya pikir Anda sebaiknya dilayani menggunakan varian dari solusi pertama Anda. Gunakan satu set yang diurutkan per indeks, tetapi cukup ubah huruf Anda menjadi angka. Ubah huruf Anda menjadi beberapa nilai desimal. Anda dapat menggunakan nilai ASCII, atau hanya menetapkan setiap huruf ke nilai 1-26 dalam urutan leksikografis, dengan asumsi Anda menggunakan bahasa Inggris. Standarkan, sehingga setiap huruf memiliki panjang numerik yang sama (jadi, jika 26 adalah angka terbesar Anda, 1 akan ditulis "01"). Kemudian tambahkan saja ini bersama-sama dengan titik desimal di depan dan gunakan itu sebagai skor Anda per indeks (yaitu "topi" akan menjadi ".080120"). Ini akan memungkinkan Anda memiliki pemetaan 1-ke-1 yang dipesan dengan benar antara kata-kata dan angka-angka ini. Saat Anda mencari, mengonversi dari huruf ke angka, dan kemudian Anda akan dapat menggunakan semua fungsi kumpulan Redis yang diurutkan seperti ZRANGEBYSCORE tanpa perlu menulis ulang. Fungsi Redis ditulis dengan sangat, sangat optimal, jadi Anda lebih baik menggunakannya bila memungkinkan daripada menulis sendiri.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Spring Boot dengan Kesalahan Serialisasi Sesi/Redis dengan Kredensial Ldap Direktori Aktif yang Buruk

  2. Redis mencoba terhubung ke localhost di Heroku alih-alih REDIS_URL

  3. Temukan kunci berdasarkan nilai

  4. Apa tujuan dari titik dua dalam kunci Redis

  5. Konfigurasikan Status Sesi Redis di Azure