core如何使用Redis发布订阅

更新时间:2023-06-27 18:50:56 阅读: 评论:0

core如何使⽤Redis发布订阅
Redis是⼀个性能⾮常强劲的内存数据库,它⼀般是作为缓存来使⽤,但是他不仅仅可以⽤来作为缓存,⽐如著名的分布式框架dubbo就可以⽤Redis来做服务注册中⼼。接下来介绍⼀下 core 使⽤Redis的发布/订阅功能。
形单影只什么意思
Redis 发布订阅
Redis 发布订阅(pub/sub)是⼀种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。
Redis 客户端可以订阅任意数量的通道。
下图展⽰了频道 channel1 ,以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:
当有新消息通过 PUBLISH 命令发送给频道 channel1 时,这个消息就会被发送给订阅它的三个客户端:
使⽤Redis命令
⾸先,通过subscribe redismessage命令使两个客户端订阅redismessage通道:
然后再打开⼀个Redis客户端,使⽤命令publish redismessage "消息内容"发布消息
使⽤ core 实现
这⾥我选择的连接驱动为 StackExchange.Redis,这⾥需要注意的是 ServiceStack.Redis连接驱动已经逐渐商业化,4.0及以上版本都具有限制,所以选择的免费且好⽤的StackExchange.Redis,使⽤nuget安装即可。
建⽴订阅客户端冷笑话吧
//创建连接
using (ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("127.0.0.1:6379"))
二年级数学小故事{
ISubscriber sub = redis.GetSubscriber();
//订阅名为 messages 的通道
sub.Subscribe("messages", (channel, message) => {
//输出收到的消息
曼联vs阿森纳
Console.WriteLine($"[{DateTime.Now:HH:mm:ss}] {message}");
奢香夫人
});
Console.WriteLine("已订阅 messages");
Console.ReadKey();
}
建⽴发布客户端
//创建连接孙权劝学原文
using (ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("127.0.0.1:6379"))
{
ISubscriber sub = redis.GetSubscriber();
Console.WriteLine("请输⼊任意字符,输⼊exit退出");
string input;
do
{
input = Console.ReadLine();丝瓜国画
sub.Publish("messages", input);
} while (input != "exit");
}
下⾯运⾏了⼀个发布客户端,两个订阅客户端:
听党的话
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

本文发布于:2023-06-27 18:50:56,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1057597.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:订阅   消息   客户端   发布   连接   选择   希望
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图