Вимоги: Деякі дані потрібно експортувати з кешу 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-файлу, вихідний код виглядає так:
Зображення такі:
(Кінець)
|