Redis не предлага начин за групово изтриване на ключове. Можете обаче да използвате redis-cli и малко магия на командния ред за групово изтриване на ключове, без да блокирате redis.
Тази команда ще изтрие всички ключове, съответстващи на потребители:*
redis-cli --scan --pattern users:* | xargs redis-cli del
Ако сте в redis 4.0 или по-нова версия, вместо това можете да използвате командата unlink, за да изтриете ключове във фонов режим.
redis-cli --scan --pattern users:* | xargs redis-cli unlink
Как работи скриптът?
- Първо използваме
redis-cli --scan --pattern <pattern>
за да получите списък с ключове, по един ключ на ред. Тъй като това използва сканиране, Redis сървърът не е блокиран. xargs
взема няколко реда и ги комбинира на един и същи ред, така че по същество изпълнявате командатаdel <key1> <key2>...
- Ако имате хиляди ключове, които съответстват на шаблона, xargs автоматично ще изпълни redis-cli няколко пъти.
Вижте също
- Преименуване на полета в хеш
- Задайте изтичане на няколко ключа
- Преименувайте няколко клавиша с помощта на сканиране
- RDBTools GUI за Redis ви позволява да визуализирате груповите си действия и предоставя мощен GUI за управление на данни в Redis. Това е безплатно изтегляне!