Követelmények: Néhány adatot wildcard-on keresztül exportálni kell a Redis gyorsítótárból a problémák elhárításához. A NET/C# a StackExchange.Redis klienst használja a Redis gyorsítótár manipulálására, és txt fájlként exportálja a helyi lemezre. Az elv az, hogy az összes kulcsot a SCAN parancson keresztül szűrjük, majd minden kulcs értékét lekérdezzük.
A KEYS parancs a Redis összes egyező billentyűt egyszerre adja vissza, ha sok kulcs van a Redisben, ez rejtett veszélyt jelent a memóriafogyasztásra és a Redis szerverre, és a Redis 2.8 és újabb verzióknál jobb parancsot ad a billentyűk SCAN-járásához.
A SCAN végrehajtás során csak kevés elemet ad vissza, így használható gyártási környezetben anélkül, hogy a szervert blokkoló problémák, például a KEYS vagy SMEMBERS parancsok is blokkolnák.
A SCAN parancs kurzoralapú iterátor. Ez azt jelenti, hogy minden parancs hívása után a kurzort kell használnia, mint a következő hívás kurzorargumentuma, hogy folytathassa az előző iterációs folyamatot
Amikor a SCAN parancs kurzor paramétere (azaz kurzor) 0-ra van állítva, a szerver új iterációt indít, és amikor a szerver 0 értékű kurzort ad vissza a felhasználónak, az iteráció véget ér.
Szemle:
Először 100 000 sávot helyezünk be a RedisbeUser:GUID 格式Az alábbi ábrán látható adatok:
A .NET/C# a StackExchange.Redis segítségével fuzzly lekérdezést végez a "User:*" adat lekérdezésére, és txt fájlként a helyi lemezre jut ki, a forráskód a következő:
A képek a következők:
(Vége)
|