Požiadavky: Niektoré dáta je potrebné exportovať z Redis cache pomocou žolíkov na riešenie problémov. NET/C# používa klienta StackExchange.Redis na manipuláciu s Redis cache a exportovanie ako txt súboru na lokálny disk. Princípom je filtrovať všetky kľúče pomocou príkazu SCAN a potom sa dotazovať na hodnotu každého kľúča.
Príkaz KEYS v Redis vráti všetky zodpovedajúce kľúče naraz, keď je v Redis veľa kľúčov, predstavuje skryté nebezpečenstvo pre spotrebu pamäte a servera Redis, a pre verzie Redis 2.8 a vyššie nám poskytuje lepší príkaz na prechádzanie klávesmi SCAN.
SCAN vráti len malý počet prvkov pri každom vykonaní, takže ho možno použiť v produkčnom prostredí bez problémov, ktoré by mohli blokovať server, ako sú príkazy KEYS alebo SMEMBERS.
Príkaz SCAN je iterátor založený na kurzore. To znamená, že zakaždým, keď je príkaz zavolaný, musí použiť kurzor vrátený predchádzajúcim volaním ako argument kurzora pre ďalšie volanie, aby sa mohol pokračovať v predchádzajúcom iterácii
Keď je parameter kurzora (t. j. kurzor) príkazu SCAN nastavený na 0, server začne novú iteráciu a keď vráti používateľovi kurzor s hodnotou 0, iterácia končí.
Revízia:
Najprv vložíme 100 000 prúžkov do RedisuUser:GUID 格式Údaje znázornené na obrázku nižšie:
.NET/C# používa StackExchange.Redis na fuzzly dotazovanie dát "User:*" a výstup na váš lokálny disk ako txt súbor, zdrojový kód je nasledovný:
Vizualizácie sú nasledovné:
(Koniec)
|