2015-02-18 4 views
5

Как удалить ключи, соответствующие определенному шаблону в redis, используя redis-cli. Я хотел бы удалить все foo из следующего списка.Как удалить ключи, соответствующие определенному шаблону в redis

KEYS * 

foo:1 
foo:2 
bar:1 
foo:3 
bar:2 
foo:4 
+3

Есть несколько ответил на вопросы по той же теме, например, http://stackoverflow.com/a/23399125/3160475 –

+0

возможно дубликат [Как атомически удалять ключи, соответствующие шаблону, используя Redis] (http://stackoverflow.com/questions/4006324/how-to-atomically-delete-keys-matching-a-pattern-using-redis) – bitoiu

+0

приятное решение даже для больших наборов > 1000 ключей. https://stackoverflow.com/questions/4006324/how-to-atomically-delete-keys-matching-a-pattern-using-redis#comment39607023_16974060 –

ответ

18

Как уже упоминалось в комментарии к вопросу, здесь уже есть много других ответов. Определенно прочитайте приведенную выше ссылку, если вы думаете об этом в серийном сегменте.

Один я нашел наиболее полезным для иногда командной строки очистки был:

redis-cli KEYS "*" | xargs redis-cli DEL

из "How to atomically delete keys matching a pattern using Redis".

+1

Я бы использовал «redis-cli --scan» вместо KEYS. Особенно в живой среде. Использование KEYS не рекомендуется. –

3

Я только что опубликовал утилиту интерфейса командной строки для npm и github, которая позволяет вам удалять ключи, соответствующие данному шаблону (даже *) из базы данных Redis.

Вы можете найти утилиту здесь:

https://www.npmjs.com/package/redis-utils-cli