Reikalavimai: Kai kuriuos duomenis reikia eksportuoti iš "Redis" talpyklos naudojant pakaitos simbolius, kad būtų pašalintos problemos. NET/C# naudoja StackExchange.Redis klientą, kad manipuliuotų Redis talpykla ir eksportuotų ją kaip txt failą į vietinį diską. Principas yra filtruoti visus raktus per komandą SCAN ir tada užklausti kiekvieno rakto reikšmę.
"Redis" komanda KEYS grąžina visus atitinkamus klavišus vienu metu, kai "Redis" yra daug klavišų, tai yra paslėptas pavojus atminties sunaudojimui ir "Redis" serveriui, o "Redis 2.8" ir naujesnėms versijoms ji suteikia mums geresnę komandą pereiti klavišus SCAN.
SCAN grąžina tik nedidelį elementų skaičių vienam vykdymui, todėl jį galima naudoti gamybos aplinkoje be problemų, kurios gali blokuoti serverį, pvz., KEYS arba SMEMBERS komandos.
Komanda SCAN yra žymekliu pagrįstas iteratorius. Tai reiškia, kad kiekvieną kartą, kai komanda iškviečiama, ji turi naudoti žymeklį, grąžintą ankstesniu iškvietimu, kaip kito iškvietimo žymeklio argumentą, kad būtų galima tęsti ankstesnį iteracijos procesą
Kai SCAN komandos žymeklio parametras (t. y. žymeklis) nustatomas į 0, serveris pradės naują iteraciją, o kai serveris grąžins vartotojui žymeklį, kurio reikšmė yra 0, iteracija baigiasi.
Peržiūra:
Pirmiausia į "Redis" įterpiame 100 000 juostųUser:GUID 格式Duomenys, kaip parodyta paveikslėlyje žemiau:
.NET/C# naudoja StackExchange.Redis, kad neaiškiai užklaustų "User:*" duomenis ir išvestų juos į vietinį diską kaip txt failą, šaltinio kodas yra toks:
Atvaizdai yra tokie:
(Pabaiga)
|