在pub-sub的情况下,Redis使用什么机制将消息保存在内存中?如果没有客户订阅消息会发生什么? Redis会缓冲它们吗?有没有办法配置分钟。最多每个频道分配的内存?
答案 0 :(得分:14)
Redis不会在Pub / Sub上下文中将消息保留在内存中,如implementation(x)中所示:
然后Redis只返回已收到消息的客户端数量(请记住,客户端可能会多次收到单个消息,例如,如果多个模式匹配)。
如果没有订阅客户端,Redis只返回0并且不记录/缓冲消息:
> publish foo test
(integer) 0
(x)基本上Redis循环遍历订阅的客户列表并发送带有消息的回复。