0
我们知道,KEYS
命令块Redis的服务器,并需要使用*SCAN
命令来代替。PUBSUB CHANNELS命令是否阻止Redis服务器?
据我了解的Redis服务器可以处理大量的发布 - 订阅连接。那么,如果我在这样的服务器上调用PUBSUB CHANNELS
命令,它可以在执行此命令期间处理pubsub连接还是处理其他命令?
我们知道,KEYS
命令块Redis的服务器,并需要使用*SCAN
命令来代替。PUBSUB CHANNELS命令是否阻止Redis服务器?
据我了解的Redis服务器可以处理大量的发布 - 订阅连接。那么,如果我在这样的服务器上调用PUBSUB CHANNELS
命令,它可以在执行此命令期间处理pubsub连接还是处理其他命令?
Redis的是单线程。它可以有任意数量的客户端,但执行的命令是单线程的(一个接一个)。
在PubSub的您订阅到客户端,这将保持与服务器的连接。
当您发布它被传递到所有已订阅的所有频道的消息,所以基本上它是一个单一的调用,它确实发布到在所有通道调用自身。所以如果你有多个客户端(比如说一百万)订阅单个频道,那么发布给所有这些客户端需要一些时间,然后是阻止。另请注意,阻止只会在发布操作期间发生。
希望这回答你的问题。