Cerințe: Unele date trebuie exportate din cache-ul Redis prin wildcard-uri pentru a depana problemele. NET/C# folosește clientul StackExchange.Redis pentru a manipula cache-ul Redis și a-l exporta ca fișier txt pe discul local. Principiul este filtrarea tuturor tastelor prin comanda SCAN și apoi interogarea valorii fiecărei chei.
Comanda KEYS din Redis returnează toate cheile corespunzătoare simultan, când sunt multe chei în Redis, reprezintă un pericol ascuns pentru consumul de memorie și serverul Redis, iar pentru versiunile Redis 2.8 și anterioare, ne oferă o comandă mai bună pentru a parcurge cheile SCAN.
SCAN returnează doar un număr mic de elemente pe execuție, astfel încât poate fi folosit în medii de producție fără problemele care pot bloca serverul, cum ar fi comenzile KEYS sau SMEMBERS.
Comanda SCAN este un iterator bazat pe cursor. Aceasta înseamnă că de fiecare dată când o comandă este apelată, aceasta trebuie să folosească cursorul returnat de apelul anterior ca argument al cursorului pentru apelul următor, pentru a continua procesul de iterație anterioară
Când parametrul cursorului (adică cursorul) comenzii SCAN este setat la 0, serverul va începe o nouă iterație, iar când serverul returnează utilizatorului un cursor cu valoarea 0, iterația se încheie.
Recenzie:
Mai întâi, introducem 100.000 de bare în RedisUser:GUID 格式Datele prezentate în figura de mai jos:
.NET/C# folosește StackExchange.Redis pentru a interoga fuzzly datele "User:*" și a le trimite pe discul local ca fișier txt, codul sursă fiind următorul:
Randările sunt următoarele:
(Sfârșit)
|