如何解决如何将消息发布到 Redis 通道 (StackExchange.Redis)
我读过一个关于在 StackExchange.Redis 文档中订阅和发布的示例,但我不明白。
为什么这个例子没有谈到发布?
var channel = multiplexer.GetSubscriber().Subscribe("messages");
channel.OnMessage(message =>
{
Console.WriteLine((string)message.Message);
});
如何在Dotnet Core项目中实现订阅和发布?
RedisChannel 是什么,谁能解释一下?
我喜欢这个:
RedisChannel channelWithLiteral = new RedisChannel("messages",RedisChannel.PatternMode.Literal);
和
RedisChannel channelWithLiteral = new RedisChannel("messages",RedisChannel.PatternMode.Literal);
var sub = connectionPoolManager.GetConnection().GetSubscriber();
sub.PublishAsync(channelWithLiteral,Serializer.Serialize(message));
Sub 和 Pub 项目。这是正确的吗?
解决方法
将 Redis 包添加到您的项目后(通过 StackExchange.Redis NuGet 包),您可以连接到您的 Redis 服务器(在本例中为本地):
using StackExchange.Redis;
ConnectionMultiplexer connection = ConnectionMultiplexer.Connect("localhost");
接下来,您应该使用 ISubscriber.Subscribe
订阅频道:
var subscriber = connection.GetSubscriber();
可以通过以下方式向任何频道发布消息:
subscriber.Publish("channle-name","This is a message");
最后,订阅同一个频道(可能来自另一个客户端)以接收通过您想要的频道发送的消息:
subscriber.Subscribe("channle-name",(channel,message) => {
Console.WriteLine((string)message);
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。