Memory Redis发布子通道内存

Memory Redis发布子通道内存,memory,redis,publish-subscribe,Memory,Redis,Publish Subscribe,在发布订阅的情况下,Redis使用什么机制将消息保存在内存中?如果没有订阅客户端,消息会发生什么情况?Redis会缓冲它们吗?是否有办法配置每个通道分配的最小和最大内存 Redis不会将消息保存在发布/订阅上下文中的内存中,如(x)中所示: 将消息发送到客户端(如果有) 将消息发送到客户端(如果有) 然后Redis只返回有多少个客户端收到了消息(请记住,一个客户端可能多次收到一条消息,例如,如果多个模式匹配) 如果没有订阅客户端,Redis只返回0,消息不被记录/缓冲: > publish

在发布订阅的情况下,Redis使用什么机制将消息保存在内存中?如果没有订阅客户端,消息会发生什么情况?Redis会缓冲它们吗?是否有办法配置每个通道分配的最小和最大内存

Redis不会将消息保存在发布/订阅上下文中的内存中,如(x)中所示:

  • 将消息发送到客户端(如果有)
  • 将消息发送到客户端(如果有)
  • 然后Redis只返回有多少个客户端收到了消息(请记住,一个客户端可能多次收到一条消息,例如,如果多个模式匹配)

    如果没有订阅客户端,Redis只返回0,消息不被记录/缓冲:

    > publish foo test
    (integer) 0
    
    (x) 基本上,Redis在订阅的客户端列表上循环,并发送带有消息的回复