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

Cara Mendapatkan Semua Kunci di Redis

  • Kebanyakan (Tapi Tidak Semua) Objek Menggunakan Kunci
    • Menggunakan Ruang Nama
  • Mengambil Semua Kunci yang Ada

Seperti mesin database non-relasional lainnya, memikirkan bagaimana Redis menangani struktur dan asosiasi data terkadang bisa jadi sulit. Ini terutama benar ketika Redis dibandingkan dengan database relasional yang lebih tradisional dengan tabel yang dikarantina, masing-masing berisi beberapa baris dan kolom untuk menyimpan data.

Karena Redis non-relasional, semua yang ada di sistem dikonfigurasikan dengan key/value dasar berpasangan pada tingkat yang paling sederhana. Selama pengembangan khususnya, mungkin sulit untuk melacak semua yang sudah ada di database, jadi dalam tutorial singkat ini kita akan membahas metode untuk mengambil semua keys dari database Redis dengan beberapa perintah sederhana.

Sebagian besar (Tapi Tidak Semua) Objek Menggunakan Kunci

Untuk sebagian besar penyimpanan data dengan Redis, data akan disimpan dalam key/value sederhana pasangan. Ini paling baik ditunjukkan melalui redis-cli (antarmuka baris perintah) menggunakan GET dan SET perintah.

Misalnya, kami mungkin ingin menyimpan beberapa informasi tentang books , seperti title dan author dari beberapa favorit kami.

> SET title "The Hobbit"
OK
> SET author "J.R.R. Tolkien"
OK

title dan author adalah keys kami telah menetapkan dan nilai string aktual ditentukan setelahnya. Jadi kita bisa melihatnya dengan GET , seperti ini:

> GET title
"The Hobbit"
> GET author
"J.R.R. Tolkien"

Menggunakan Namespace

Itu semua baik dan bagus, tetapi bagaimana kita menambahkan buku lain? Kami tidak dapat menggunakan kembali title yang sama dan author kunci atau kami akan menimpa data yang ada. Sebagai gantinya, kita dapat menggunakan sintaks namespace dengan menggunakan : pemisah dan memberikan setiap title atau author masukkan keys numerik unik :

> SET title:1 "The Hobbit"
OK
> SET author:1 "J.R.R. Tolkien"
OK
> SET title:2 "The Silmarillion"
OK
> SET author:2 "The Silmarillion"
OK

Sekarang menggunakan GET membutuhkan penambahan keys numerik unik juga:

> GET title:1
"The Hobbit"
> GET title:2
"The Silmarillion"

Mengambil Semua Kunci yang Ada

Ternyata, setiap SET perintah yang kami keluarkan di atas membuat keys yang baru dan unik dalam database Redis kami. Untuk mendapatkan daftar semua keys saat ini yang ada, cukup gunakan KEYS perintah:

> KEYS *
1) "title:1"
2) "title:2"
3) "title"
4) "author:2"
5) "author"
6) "author:1"

Dengan mengikuti KEYS dengan tanda bintang (* ) – yang bertindak sebagai pencarian wildcard – kami meminta Redis untuk mengambil semua kunci dalam sistem. Jadi, kita tidak hanya melihat dua title asli kita dan author kunci tetapi juga empat versi enumerasi yang mengikutinya.

Sintaks berikut KEYS dapat digunakan untuk mencari kata atau frasa tertentu di dalam kunci, atau padanan yang sama persis. Di sini kita ingin semua kunci yang berisi teks 'title' :

> KEYS *title*
1) "title:1"
2) "title:2"
3) "title"

PERHATIAN:Seperti yang disebutkan dalam dokumentasi resmi, disarankan untuk menghindari penggunaan KEYS perintah pada database yang sangat besar, tetapi khususnya hindari menggunakannya di lingkungan produksi. Sejak KEYS berpotensi mengembalikan setiap kunci dalam sistem, ini dapat memiliki dampak negatif yang dramatis pada kinerja.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara mengatur/mendapatkan pandas.DataFrame ke/dari Redis?

  2. Bagaimana cara menggunakan redis untuk menyimpan data hierarkis?

  3. json.loads dan Redis di python 3.5

  4. redis untuk masuk

  5. Kunci CROSSSLOT Aliran Udara yang diminta tidak melakukan hash ke kesalahan slot yang sama menggunakan AWS ElastiCache