gpt4 book ai didi

scalability - Redis 的排序集会扩展吗?

转载 作者:IT王子 更新时间:2023-10-29 06:03:46 24 4
gpt4 key购买 nike

这可能更像是一个理论问题,但我正在寻找一个务实的答案。

我打算使用 Redis's Sorted Sets根据计算值将模型的排名存储在我的数据库中。目前我的数据集很小(集合中有 250 个成员)。我想知道排序集是否可以扩展到 5,000 个成员或更多。 Redis 声称有 1GB 的最大值,而我的值是我的模型的 ID,所以我并不真正关心排序集值的可扩展性。

ZRANGE时间复杂度为 O(log(N)+M)。如果我最频繁地尝试从集合中获取排名前 5 的项目,N 个集合项目的 log(N) 可能是一个问题。

我也打算用 ZINTERSTORE其时间复杂度为 O(N*K)+O(M*log(M))。我计划经常使用 ZINTERSTORE 并使用 ZRANGE 0 -1 检索结果

我想我的问题有两个方面。

  1. Redis 排序集是否可以毫无问题地扩展到 5,000 个成员?一万? 50,000?
  2. ZRANGE 和 ZINTERSTORE(结合 ZRANGE)在应用于大型集合时会开始出现性能问题吗?

最佳答案

我对排序集中的数十万个键没有任何问题。当然,获得整个集合需要一段时间,集合越大,但这是预料之中的 - 即使只是从 I/O 的角度来看也是如此。

一个这样的实例是在一个服务器上,它有几个正在使用的数据库和几个排序集,其中包含 50k 到 >150k 的键。高写入是常态,因为它们使用大量 zincrby 命令,这些命令通过实时网络服务器日志分析,每天峰值超过 1.5 亿条记录。我会一次储存一周。

根据我的经验,我会说去看看;除非您的服务器硬件真的很低端,否则它可能会很好。

关于scalability - Redis 的排序集会扩展吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6948492/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com