Redis MGET限制

14

我们计划在其中一项系统中使用MGET。在基准测试期间,我们能够通过lettuce在一个MGET调用中检索到100万个keys的值,并感到非常惊讶。

我一直在尝试找到MGET的限制。具体来说,

  1. 一个MGET调用中可检索的key数量是否有限制?
  2. 单个MGET调用返回的数据大小是否有限制?
1个回答

22

一次MGET调用中可以检索的键的数量有限制吗?

从理论上讲,上限是int类型的最大值:0x7FFFFFFF。然而,在实际应用中,你不能在单个Redis实例中拥有这么多的键(这将耗费太多内存)。

一次MGET调用返回的数据大小有限制吗?

从理论上讲,没有限制。然而,在实际应用中,Redis会在发送给客户端之前在内存中保存返回的值,因此如果你尝试使用MGET检索太多的键,你将遇到OOM问题。

总之,从Redis中检索太多的键是一个坏主意:它将耗费太多内存,并阻塞Redis很长一段时间。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接