Nõuded: Mõned andmed tuleb eksportida Redis vahemälust wildcard'ide kaudu, et probleeme lahendada. NET/C# kasutab StackExchange.Redis klienti, et manipuleerida Redis vahemäluga ja eksportida see txt-failina kohalikule kettale. Põhimõte on filtreerida kõik võtmed SCAN-käsu kaudu ja seejärel pärida iga võtme väärtust.
Redis'i KEYS käsk tagastab kõik sobivad klahvid korraga; kui Redis'is on palju võtmeid, on see peidetud oht mälutarbimisele ja Redis serverile, ning Redis 2.8 ja uuemate versioonide puhul annab see meile parema käsu klahvide SCAN-i läbimiseks.
SCAN tagastab iga täitmise kohta vaid väikese arvu elemente, seega saab seda kasutada tootmiskeskkondades ilma serverit blokeerivate probleemideta nagu KEYS või SMEMBERS käsud.
SCAN käsk on kursoripõhine iteraator. See tähendab, et iga kord, kui käsku kutsutakse, peab see kasutama kursorit, mis tagastati eelmise kutse poolt, et jätkata eelmist iteratsiooniprotsessi
Kui SCAN käsu kursoriparameeter (st kursor) on seatud 0-ks, alustab server uut iteratsiooni ning kui server tagastab kasutajale kursori väärtusega 0, on iteratsioon läbi.
Läbivaatamine:
Esiteks lisame Redisesse 100 000 taktiUser:GUID 格式Andmed, nagu alloleval joonisel näidatud:
.NET/C# kasutab StackExchange.Redis faili, et häguselt pärida "Kasutaja:*" andmeid ja väljastada see sinu kohalikule kettale txt-failina, lähtekood on järgmine:
Renderdused on järgmised:
(Lõpp)
|