如何从 redis-cli repl 中删除 Redis 匹配模式中的所有键?

Gra*_* S. 6 caching redis redis-cli

我正在尝试使用 删除一堆与前缀匹配的键redis-cli

我一直在研究如何在线执行此操作,我见过的最常见的建议是直接从命令行执行此操作,如下所示:

$ redis-cli [options] KEYS "prefix:*" | xargs redis-cli [options] DEL

但是,我更愿意在工具内部执行此操作redis-cli,这样每次我想要删除与模式匹配的密钥时,就不必在 cli 命令中传递主机名、端口和身份验证参数。到目前为止我已经尝试过:

  • DEL "prefix:*"
  • DEL KEYS prefix:*
  • DEL KEYS "prefix:*"
  • KEYS "prefix:*" | DEL
  • KEYS "prefix:*" DEL

有没有办法从工具中删除前缀下的所有redis-cli?命令行是实现此目的的唯一方法吗?

如果您希望我澄清更多信息,请随时发表评论。

Asw*_*kan 10

在 redis-cli 中运行以下命令:

EVAL "return redis.call('del', unpack(redis.call('keys', ARGV[1])))" 0 prefix:*
Run Code Online (Sandbox Code Playgroud)

替换prefix:*为您需要的图案。输出将是删除的键的数量。