Gereksinimler: Bazı verilerin Redis önbelleğinden joker kartlarla aktarılması gerekir. NET/C#, Redis önbelleğini manipüle etmek ve yerel diske txt dosyası olarak dışa aktarmak için StackExchange.Redis istemcisini kullanır. Prensip, tüm anahtarları SCAN komutu üzerinden filtrelemek ve ardından her anahtarın değerini sorgulamak.
Redis'teki KEYS komutu tüm eşleşen tuşları aynı anda döndürüyor; Redis'te çok sayıda anahtar olduğunda, bellek tüketimi ve Redis sunucusu için gizli bir tehlikedir ve Redis 2.8 ve üzeri sürümlerde tuşları taramak için daha iyi bir komut sağlar.
SCAN, her çalıştırma başına yalnızca az sayıda öğe döndürür, bu yüzden üretim ortamlarında KEYS veya SMEMBERS komutları gibi sunucuyu engelleyebilecek sorunlar olmadan kullanılabilir.
SCAN komutu imleç tabanlı bir yinelemedir. Bu, her komut çağrıldığında, önceki çağrıda dönen imleci bir sonraki çağrı için imleç argümanı olarak kullanması gerektiği anlamına gelir; böylece önceki yineleme süreci devam eder
SCAN komutunun imleç parametresi (yani imleç) 0 olarak ayarlandığında, sunucu yeni bir yineleme başlatır ve sunucu kullanıcıya 0 değerli bir imleç döndürdüğünde yineleme sona erer.
Eleştiri:
Öncelikle, Redis'e 100.000 bar ekliyoruzUser:GUID 格式Aşağıdaki şekilde gösterilen veriler:
.NET/C#, "User:*" verilerini bulanık sorgulamak ve yerel diskinize txt dosyası olarak çıkış yapmak için StackExchange.Redis kullanır, kaynak kodu şöyledir:
Çizimler aşağıdaki gibidir:
(Son)
|