Redis CLI шаблон сканирования и отсоединить / удалить несколько шаблонов за один вызов - PullRequest
0 голосов
/ 29 июня 2018

У меня в Redis хранятся ключи, указанные ниже.

  • Проект: page_1_user_1
  • Проект: page_1_user_2
  • проект: page_1_user_3
  • Проект: page_2_user_1
  • Проект: page_2_user_2
  • Проект: page_3_user_1

Чтобы удалить ключи, соответствующие шаблону, я использую команду ниже, как упомянуто во многих ответах здесь, на Stackoverflow.

redis-cli --scan --pattern '*page_1_*' | xargs -L 100 redis-cli unlink

Теперь я хочу удалить несколько шаблонов в одном запросе. В приведенном выше запросе я удаляю шаблон, имеющий page_1 , поэтому я хочу удалить несколько шаблонов, таких как page_2 и page_3 все в одном запросе к redis-cli , Сейчас я перебираю свои паттерны и вызываю приведенный выше запрос redis-cli. Возможно ли иметь что-то вроде ниже?

redis-cli --scan --pattern '*page_1_*,*page_2_*,*page_3_*' | xargs -L 100 redis-cli unlink

1 Ответ

0 голосов
/ 11 февраля 2019

Redis поддерживает glob шаблоны стилей , поэтому вы можете использовать

redis-cli --scan --pattern '*page_[123]_*'

или

redis-cli --scan --pattern '*page_[1-3]_*'

(Возможно, вы сами уже нашли ответ ...)

...