Krav: Nogle data skal eksporteres fra Redis-cachen via wildcards for at fejlfinde problemer. NET/C# bruger StackExchange.Redis-klienten til at manipulere Redis-cachen og eksportere den som en txt-fil til den lokale disk. Princippet er at filtrere alle nøgler fra gennem SCAN-kommandoen og derefter forespørge værdien af hver nøgle.
KEYS-kommandoen i Redis returnerer alle matchende nøgler på én gang, når der er mange nøgler i Redis, det er en skjult fare for hukommelsesforbrug og REDIS-serveren, og for Redis 2.8 og nyere versioner giver det os en bedre kommando til at gennemgå tasterne SCAN.
SCAN returnerer kun et lille antal elementer pr. eksekvering, så det kan bruges i produktionsmiljøer uden problemer, der kan blokere serveren, som for eksempel KEYS- eller SMEMBERS-kommandoerne.
SCAN-kommandoen er en markørbaseret iterator. Det betyder, at hver gang en kommando kaldes, skal den bruge markøren, der blev returneret af det forrige kald, som cursorargumentet for det næste kald, for at fortsætte den forrige iteration
Når cursorparameteren (dvs. cursoren) for SCAN-kommandoen sættes til 0, starter serveren en ny iteration, og når serveren returnerer en cursor med værdien 0 til brugeren, er iterationen slut.
Anmeldelse:
Først indsætter vi 100.000 barer i RedisUser:GUID 格式Data som vist i figuren nedenfor:
.NET/C# bruger StackExchange.Redis til fuzzly forespørge "User:*"-dataene og eksportere dem til din lokale disk som en txt-fil, kildekoden er som følger:
Renderingerne er som følger:
(Slut)
|