У нас есть список из сотен тысяч ключей Redis, содержащих всевозможные специальные символы, и мы хотели бы удалить их. Есть несколько отличных ответов на аналогичную проблему по этому вопросу: Как атомизировать ключи, соответствующие шаблону, используя Redis
ОДНАКО, я не могу найти ответ на случай, когда:
- У нас есть большое количество ключей (сотни тысяч).
- Ключи имеют все манеры специальных символов, таких как двойные кавычки ("), обратная косая черта(), всевозможные странные символы Юникода и т.д.
- Мы используем клиент redis-cli для Windows
- Бонус: в идеале мы могли бы выполнить эту команду как часть транзакции MULTI/EXEC, чтобы мы могли также удаленно удалять SET вместе с клавишами.
Я бы ЛЮБЛЮ, если бы мы могли просто сделать что-то вроде ниже, но при этом обрабатывать ключи со всеми специальными символами, которые дают проблемы Redis:
redis-cli SMEMBERS "myGiganticListOfKeys" | xargs --delim='\n' redis-cli DEL
К сожалению, это просто дает ошибку ниже:
"C:/Program Files (x86)/Git/bin/xargs.exe": redis-cli: Bad file number
Я думаю, что это сработало бы, если бы у нас не было специальных символов в клавишах.
Спасибо за это заранее.