Krav: Noen data må eksporteres fra Redis-cachen via wildcards for å feilsøke problemer. NET/C# bruker StackExchange.Redis-klienten til å manipulere Redis-cachen og eksportere den som en txt-fil til den lokale disken. Prinsippet er å filtrere ut alle nøkler gjennom SCAN-kommandoen, og deretter spørre verdien av hver nøkkel.
KEYS-kommandoen i Redis returnerer alle matchende nøkler samtidig, når det er mange nøkler i Redis, er det en skjult fare for minneforbruk og Redis-server, og for Redis 2.8 og nyere versjoner gir det oss en bedre kommando for å navigere gjennom tastene SCAN.
SCAN returnerer bare et lite antall elementer per kjøring, så det kan brukes i produksjonsmiljøer uten problemer som kan blokkere serveren, som KEYS- eller SMEMBERS-kommandoene.
SCAN-kommandoen er en markørbasert iterator. Dette betyr at hver gang en kommando kalles, må den bruke markøren returnert av forrige kall som markørargument for neste kall, for å fortsette forrige iterasjonsprosess
Når markørparameteren (dvs. markøren) til SCAN-kommandoen settes til 0, starter serveren en ny iterasjon, og når serveren returnerer en markør med verdien 0 til brukeren, er iterasjonen over.
Anmeldelse:
Først setter vi inn 100 000 barer i RedisUser:GUID 格式Data som vist i figuren nedenfor:
.NET/C# bruker StackExchange.Redis for å fuzzly spørre "User:*"-dataene og eksportere dem til din lokale disk som en txt-fil, kildekoden er som følger:
Gjengivelsene er som følger:
(Slutt)
|