Prasības: Daži dati ir jāeksportē no Redis kešatmiņas, izmantojot aizstājējzīmes, lai novērstu problēmas. NET/C# izmanto StackExchange.Redis klientu, lai manipulētu ar Redis kešatmiņu un eksportētu to kā txt failu uz vietējo disku. Princips ir filtrēt visas atslēgas, izmantojot komandu SCAN, un pēc tam vaicāt katras atslēgas vērtību.
Komanda KEYS Redis atgriež visus atbilstošos taustiņus uzreiz, ja Redis ir daudz atslēgu, tas ir slēpts apdraudējums atmiņas patēriņam un redis serverim, un Redis 2.8 un jaunākām versijām tas nodrošina labāku komandu, lai šķērsotu taustiņus SCAN.
SCAN atgriež tikai nelielu skaitu elementu vienā izpildījumā, tāpēc to var izmantot ražošanas vidē bez problēmām, kas var bloķēt serveri, piemēram, KEYS vai SMEMBERS komandas.
Komanda SCAN ir kursora iterators. Tas nozīmē, ka katru reizi, kad tiek izsaukta komanda, tai ir jāizmanto kursors, ko atgriezis iepriekšējais izsaukums, kā kursora arguments nākamajam zvanam, lai turpinātu iepriekšējo iterācijas procesu
Kad komandas SCAN kursora parametrs (t.i., kursors) ir iestatīts uz 0, serveris sāks jaunu iterāciju, un, kad serveris atgriež lietotājam kursoru ar vērtību 0, iterācija ir beigusies.
Pārskats:
Pirmkārt, mēs ievietojam 100 000 joslu RedisUser:GUID 格式Dati, kas parādīti zemāk redzamajā attēlā:
.NET/C# izmanto StackExchange.Redis, lai neskaidri vaicātu "Lietotājs:*" datus un izvadītu tos lokālajā diskā kā txt failu, avota kods ir šāds:
Atveidojumi ir šādi:
(Beigas)
|