gpt4 book ai didi

node.js - node_redis : is SMEMBERS blocking?

转载 作者:可可西里 更新时间:2023-11-01 11:12:02 32 4
gpt4 key购买 nike

Redis下的SCAN文档,它提到了关于 SMEMBERS 的内容:

However while blocking commands like SMEMBERS are able to provide all the elements that are part of a Set in a given moment, The SCAN family of commands only offer limited guarantees about the returned elements since the collection that we incrementally iterate can change during the iteration process.

令人惊讶的是,我找不到任何关于 SMEMBERS 如何阻止以及何时避免使用它的其他信息。如果 SMEMBERS 是阻塞调用,在 node_redis 中使用是否安全?还是阻塞 Redis 最终也会阻塞 Node 的线程?

稍微相关,如果SSCAN是最好的做法而不是调用 SMEMBERS,是否有等效的 SCAN 调用 SINTER

提前致谢

最佳答案

几乎所有 Redis 的命令都是阻塞的,包括 SCAN(但它保证了较短的执行时间)。唯一非阻塞的命令是由其他线程执行的命令(目前仅与持久性相关,例如 BGSAVE)。

具体来说,SMEMBERS 正在阻塞。如果您的 Set 不是太大(可能是几 K(),这可能没问题。如果 Set 变得太大,Redis 将在准备回复时阻塞,并在发送回之前消耗 RAM 来缓冲它。在这种情况下,建议使用 SSCAN 遍历 Set,以允许其他请求在对它的调用之间交错。

关于node.js - node_redis : is SMEMBERS blocking?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28723504/

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