Redis SET UNION操作中的键数是否有限制?

时间:2016-03-11 18:54:25

标签: caching redis in-memory-database in-memory

我有一个场景,我将大量数据从Google Big Query转储到Redis SET数据结构,以获得更好的响应时间。我需要在数百万个密钥上完成SET UNION操作。我已经测试了几千个键并且工作正常。问题是,一次可以向SUNION命令提供的密钥数量是否有限制?它真的是SUNION Key1 Key2 Key3 ..... KeyN? 考虑一下我有足够的系统容量。

1 个答案:

答案 0 :(得分:1)

  

[...]超过数百万的密钥

Redis的文档中没有关于可以在单个sunion命令中提供多少密钥的限制的声明。

顺便说一句,我怀疑在Redis中做这样的操作可能是一个好主意。请记住,在此操作之前,Redis将被阻止,并且在sunion结束之前不会执行任何其他操作。

我最好的建议是你应该使用许多sunionstore命令来做,然后从多个集合中获取所有结果,就好像整个集合将是sunion数百万个键的结果的页面。

sunionstore key:pages:1 key1 keyN

...稍后您将在应用程序层中使用一些迭代器来迭代所有生成的页面。