我目前正在将一些数据迁移到Redis,我正在考虑使用一个有序集来存储大约1.4e6项(带有相关的分数/计数)。一组中的项目数量是否可能超过实际限制,使用该套装太痛苦了?我计划运行64位redis,因此数据的可用内存应该不是问题。有没有人有这样大小的排序集的经验?如果是这样,您的插入和查询时间如何?
答案 0 :(得分:22)
这取决于你想要对集合做什么。简单的操作大多是O(log n),这意味着它们对于一百万个项目集只需要两倍于它们对一千个项目集的长度。除非您的配置中存在严重损坏的内容,例如内存限制小于设置,否则性能应该不是问题。
你需要小心的是对多个集合的操作,特别是联合 - 对于百万项目集来说需要花费一千倍的时间。实际上,这不一定是一个问题 - 或者它对于你的目的来说足够快(redis的命令记录为生产使用速度太慢,仍然是以毫秒为单位的最佳测量),或者你可以调整操作的顺序避免在非常大的集合上运行联合。
答案 1 :(得分:10)
我们的网站有一个排序集,大约有2个项目(电子邮件地址),整数得分,内存大小约占320MB。