невозможно удалить ключи с префиксом из redis - PullRequest
0 голосов
/ 30 мая 2019

Как удалить ключи с определенным префиксом из Redis 5 +?

Я пытался следовать, но у меня не получилось (

root@1acb94e11aa2:/data# redis-cli --version
redis-cli 5.0.4
root@1acb94e11aa2:/data# redis-cli -n 9 KEYS ISO:* | wc -l
935
root@1acb94e11aa2:/data# redis-cli -n 9 KEYS ISO:* | xargs -0 redis-cli -n 9 DEL
(integer) 0
root@1acb94e11aa2:/data# redis-cli -n 9 KEYS ISO:* | wc -l
935
root@1acb94e11aa2:/data# redis-cli -n 9 --scan --pattern ISO:* | xargs -0 redis-cli -n 9 unlink
(integer) 0
root@1acb94e11aa2:/data# 

Пожалуйста, сообщите.

Ответы [ 2 ]

0 голосов
/ 30 мая 2019

ИСПРАВЛЕНИЕ:

root@1acb94e11aa2:/data# redis-cli -n 9 KEYS ISO:* | xargs -d "\n" redis-cli -n 9 del
(integer) 262
root@1acb94e11aa2:/data#
root@1acb94e11aa2:/data# redis-cli -n 9 KEYS ISO:*
(empty list or set)
root@1acb94e11aa2:/data# 
0 голосов
/ 30 мая 2019

Пока ваши имена ключей не содержат пробелов, вы должны иметь возможность выполнить это:

$ redis-cli -n 9 --scan --pattern "ISO:*" | xargs -n 1 redis-cli -n 9 UNLINK

РЕДАКТИРОВАТЬ: если они содержат пробелы, вы можете сделать:

$ redis-cli -n 9 --scan --pattern "ISO:*" | xargs -n 1 -d "\n" redis-cli -n 9 UNLINK
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...