Persyaratan: Beberapa data perlu diekspor dari cache Redis melalui wildcard untuk memecahkan masalah. NET/C# menggunakan klien StackExchange.Redis untuk memanipulasi cache Redis dan mengekspornya sebagai file txt ke disk lokal. Prinsipnya adalah memfilter semua kunci melalui perintah SCAN, lalu mengkueri nilai setiap kunci.
Perintah KEYS di Redis mengembalikan semua kunci yang cocok sekaligus, ketika ada banyak kunci di Redis, itu adalah bahaya tersembunyi untuk konsumsi memori dan server redis, dan untuk versi Redis 2.8 ke atasnya, ini memberi kita perintah yang lebih baik untuk melintasi tombol SCAN.
SCAN hanya mengembalikan sejumlah kecil elemen per eksekusi, sehingga dapat digunakan di lingkungan produksi tanpa masalah yang dapat memblokir server seperti perintah KEYS atau SMEMBERS.
Perintah SCAN adalah iterator berbasis kursor. Ini berarti bahwa setiap kali perintah dipanggil, perlu menggunakan kursor yang dikembalikan oleh panggilan sebelumnya sebagai argumen kursor untuk panggilan berikutnya, untuk melanjutkan proses iterasi sebelumnya
Ketika parameter kursor (yaitu, kursor) dari perintah SCAN diatur ke 0, server akan memulai iterasi baru, dan ketika server mengembalikan kursor dengan nilai 0 ke pengguna, iterasi berakhir.
Resensi:
Pertama, kami memasukkan 100.000 batang ke dalam RedisUser:GUID 格式Data seperti yang ditunjukkan pada gambar di bawah ini:
.NET/C# menggunakan StackExchange.Redis untuk mengkueri data "User:*" dan mengeluarkannya ke disk lokal Anda sebagai file txt, kode sumbernya adalah sebagai berikut:
Renderingnya adalah sebagai berikut:
(Akhir)
|