【问题标题】:Redis scan match performance with large number of keys?Redis扫描与大量键匹配性能?
【发布时间】:2016-09-01 14:00:58
【问题描述】:

找不到任何关于redis的信息scan match

这是否意味着如果我有 500,000 个键,它将一一遍历所有键并检查它们是否与模式匹配?还是它有一些其他巧妙的技巧来仅提取相关键?

如果它真的扫描它们,它的性能是否明智?

谢谢

【问题讨论】:

  • 没有什么聪明的技巧,键与模式一一匹配。
  • @ItamarHaber tnx 所以我猜它不建议每分钟多次使用它(扫描匹配),因为目前有一些 lua nginx 插件以这种方式使用它
  • 我会尽量避免这种情况(即临时键空间扫描)。

标签: redis predis


【解决方案1】:

Scan 基本上是阻塞的 keys 命令的替代。它将返回一个光标,您需要使用该光标再次扫描并继续该过程。重复也是可能的,因此您需要在应用程序逻辑中处理它们,这意味着即使您只有 100 万个键并且您在每次扫描中扫描 10,000 个项目,它也可以进行 10 次以上。

所以它实际上是一种权衡,而不是使用作为阻塞命令的键,但你可以使用扫描,它与键命令相比实际上很慢,但在生产环境中不会阻塞,仍然可以满足你的需要。

希望对你有帮助

【讨论】:

  • tnx 但我对扫描匹配选项更感兴趣,而不是键和扫描之间的区别:)
猜你喜欢
  • 2012-10-05
  • 1970-01-01
  • 2015-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-27
相关资源
最近更新 更多