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

标签 caching redis redis-cli

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

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

$ redis-cli [选项] KEYS“前缀:*” | xargs redis-cli [选项] DEL

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

  • DEL "prefix:*"
  • DEL KEYS 前缀:*
  • DEL KEYS "prefix:*"
  • KEYS“前缀:*” |删除
  • KEYS "prefix:*"DEL

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

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

最佳答案

在 redis-cli 中运行这个命令:

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

prefix:* 替换为您需要的模式。输出将是删除的键数。

关于caching - 如何从 redis-cli repl 中删除 Redis 匹配模式中的所有键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49055655/

相关文章:

带有通配符字段的 redis hmget

redis - 使用模式删除 Redis 键

ios - NSCache 无法正常工作,无法从缓存加载图像

asp.net-mvc - MVC 应用程序缓存和 session 管理器的最佳实践

php - 如何在 Zend Framework 2 的内存中缓存应用程序配置?

Solr 作为主要搜索引擎,Redis 作为自动完成引擎

java - 使用缓存时管理 Java 对象序列化版本的策略

ruby - 如何将此 Controller 代码移动到 Resque 作业?

redis - 如何快速有效地删除 Redis 键

bash - 如何使用 Bash 调用 redis-cli get?