gpt4 book ai didi

redis - 如何有效地联合redis中的非重叠集?

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

我有一个用例,我知道我在我的 redis 存储中具体化的一些集合是不相交的。我的一些集合非常大,因此,它们的 sunionsunionstore 需要花费大量时间。 Redis 是否提供任何处理此类联合的功能?

或者,如果有一种方法可以将元素添加到 Redis 中的集合而无需在每次插入之前检查唯一性,它可以解决我的问题。

最佳答案

实际上,由于相对的运营成本,不需要这样的功能。

当您构建 Redis 对象(例如集合或列表)时,成本并不由数据结构管理(哈希表或链表)主导,因为单个插入操作的摊销复杂度为 O(1)。成本主要由所有项目(即集合对象或列表对象)的分配和初始化决定。当您检索这些对象时,成本主要取决于输出缓冲区的分配和格式化,而不是数据结构中的访问路径。

因此绕过集合的唯一性属性不会带来显着的优化。

要在集合不相交的情况下优化 SUNION 命令,最好的方法是将其替换为多个 SMEMBERS 命令的管道以检索各个集合(并在客户端构建联合)。

实际上不可能优化 SUNIONSTORE,因为不相交的集合是性能最差的情况。性能由结果项的数量决定,因此共同项越少,响应时间越长。

关于redis - 如何有效地联合redis中的非重叠集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27262637/

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