gpt4 book ai didi

redis - 大型集合的 SSCAN 与 SMEMBERS 资源使用情况

转载 作者:IT王子 更新时间:2023-10-29 06:00:32 25 4
gpt4 key购买 nike

我有一个很大的 redis 集合(超过 600 万个条目),我需要遍历所有条目并对每个条目进行一些其他的 redis 操作(主要是使用基于原始键的键在 redis 排序集中调用 ZCARD输入)。

遍历 SET 的所有条目的最有效(就资源而言)方式是什么?使用 SSCAN 或进行 SMEMEBERS 调用。

最佳答案

SMEMBERS 在一次操作中返回 SET 中的所有成员。此操作的持续时间与 SET 中的项数成正比(时间复杂度:O(N) )。

在此操作期间,您的实例不会响应任何其他请求。

SSCAN 允许您遍历 SET 中的所有项目。时间复杂度是固定的 ( O(1) ),具体取决于您在每次调用时获得的项目数(此数字由 COUNT 参数定义)。SSCAN 的总成本可能与 SMEMBERS 的数量级相同,或者可能更高,因为您将不得不进行多次调用。但它会允许在两次调用之间处理其他请求,因此您的 Redis 实例不会看起来没有响应。

所有这些都是纯理论。要获得明确的建议,您应该进行测试和测量,这应该很容易做到。

关于redis - 大型集合的 SSCAN 与 SMEMBERS 资源使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40005422/

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