Redis Pub/Sub不发布消息
本文关键字:消息 布消息 Pub Sub Redis | 更新日期: 2023-09-27 18:05:03
我正在使用StackExchange。Redis . net客户端(安装在Windows 7上)。主机名- 127.0.0.1,端口- 6379
用户:using (var connection = ConnectionMultiplexer.Connect(string.Format("{0}:{1},abortConnect=false,ConnectTimeout=10000", m_HostName, m_Port)))
{
var sub = connection.GetSubscriber();
sub.Subscribe("tasks", (channel, value) =>
{
// processing
});
}
出版商:
using (var connection = ConnectionMultiplexer.Connect(string.Format("{0}:{1},abortConnect=false,ConnectTimeout=10000", m_HostName, m_Port)))
{
var subscriber = connection.GetSubscriber();
Logger.Debug(subscriber.IsConnected().ToString());
subscriber.Publish("tasks", message);
}
在日志中,我可以看到订阅者已连接,并且这一行没有异常:
subscriber.Publish("tasks", message);
但是订阅者没有捕捉到任何消息,Redis桌面管理器显示DB为空。
在redis命令行中,命令PUBSUB CHANNELS显示下一个结果,这意味着通道存在:
- "任务"
- "__Booksleeve_MasterChanged"
另外,我把字符串推到DB,它是成功的:
var db = connection.GetDatabase();
db.StringSet("key","message");
有什么想法或建议吗?
除非在using语句结束时阻塞客户端,否则订阅者的连接将被处理。因此,在using语句之后,您的客户端将不会收到任何pubsub消息。