Изисквания: Някои данни трябва да бъдат експортирани от кеша на Redis чрез жокери за отстраняване на проблеми. NET/C# използва клиента StackExchange.Redis, за да манипулира кеша на Redis и да го експортира като txt файл към локалния диск. Принципът е да се филтрират всички ключове чрез командата SCAN и след това да се направи заявка за стойността на всеки ключ.
Командата KEYS в Redis връща всички съвпадащи ключове наведнъж, когато има много ключове в Redis, това е скрита опасност за консумацията на памет и сървъра на Redis, а за версиите на Redis 2.8 и по-нагоре ни дава по-добра команда за преглеждане на ключовете SCAN.
SCAN връща само малък брой елементи на изпълнение, така че може да се използва в продукционни среди без проблемите, които блокират сървъра като командите KEYS или SMEMBERS.
Командата SCAN е итератор, базиран на курсор. Това означава, че всеки път, когато се извиква команда, тя трябва да използва курсора, върнат от предишното извикване, като аргумент за курсора за следващото извикване, за да продължи предишният процес на итерация
Когато параметърът на курсора (т.е. курсор) на командата SCAN е зададен на 0, сървърът започва нова итерация, а когато сървърът върне курсор със стойност 0 на потребителя, итерацията приключва.
Преглед:
Първо, вмъкваме 100 000 ленти в RedisUser:GUID 格式Данните, показани на фигурата по-долу:
.NET/C# използва StackExchange.Redis, за да прави неясно заявяване на данните "User:*" и да ги извежда на вашия локален диск като txt файл, като изходният код е следният:
Визуализациите са както следва:
(Край)
|