我们目前正在使用 shell 中的这个命令来清除我们的 Redis DB:
redis-cli -h zapi.data.com flushdb
但是,现在我被告知必须删除除“zrtt_industry”之外的所有键。我如何才能创建一个正则表达式,删除除与我的模式匹配的键之外的所有键,该模式是“zrtt_industry”。
非常感谢!
我们目前正在使用 shell 中的这个命令来清除我们的 Redis DB:
redis-cli -h zapi.data.com flushdb
但是,现在我被告知必须删除除“zrtt_industry”之外的所有键。我如何才能创建一个正则表达式,删除除与我的模式匹配的键之外的所有键,该模式是“zrtt_industry”。
非常感谢!
你可以做这样的事情 -
Redis
EVAL
运行一个 Lua 脚本:我已经测试过了,它对我有用
redis-cli
因此,您需要运行这个,
遗憾的是,Redis 没有提供原生的“负匹配”模式或内置命令来清除除特定键之外的所有键。您必须检索所有键,然后在删除之前将其过滤掉。
使用 shell 管道的方法:1. 列出所有带有 redis-cli 键“*”的键。2. 使用 grep -v 排除键 zrtt_industry。3. 通过 xargs 将剩余的键传递给 redis-cli del。
例如:
redis-cli -h zapi.data.com 键“*”| grep -v'^zrtt_industry$'| xargs -n 1 redis-cli -h zapi.data.com DEL