atualmente estamos usando este comando do shell para limpar nosso banco de dados Redis:
redis-cli -h zapi.data.com flushdb
No entanto, agora me disseram que eu tenho que excluir todas as chaves, exceto a chave que é "zrtt_industry". Como posso fazer uma expressão regular que excluirá todas, exceto a chave que corresponde ao meu padrão, esse padrão sendo "zrtt_industry".
Muito obrigado!
Você pode fazer algo assim -
Redis
EVAL
para executar um script Lua que:Eu testei e funciona para mim no
redis-cli
Então, no seu caso, você precisa executar isso,
Infelizmente, o Redis não fornece um padrão nativo de “correspondência negativa” ou um comando integrado para liberar todas as chaves, exceto uma específica. Em vez disso, você deve recuperar todas as chaves e filtrá-las antes de excluí-las.
Abordagem usando um pipeline de shell: 1. Liste todas as chaves com chaves redis-cli "*". 2. Use grep -v para excluir a chave zrtt_industry. 3. Passe as chaves restantes para redis-cli del via xargs.
Por exemplo:
redis-cli -h zapi.data.com CHAVES "*" | grep -v '^zrtt_industry$' | xargs -n 1 redis-cli -h zapi.data.com DEL