wu大糊涂关注
Redis发布订阅—Pub/Sub模式或者说是观察者模式.我想大家即使没有使用过,也已经耳熟能详了.
先简单举例说明下应用场景,在场景中我们可以分析到其优势在哪.
比如你的线上应用应用,你想设置一个日志报警系统,当应用出现异常的时候,立马发送通知给你,可能是短信的形式,也可能是邮件的形式.当然如果只将报警通知给你一个人,实现起来很简单,在报警系统中将你的手机号和短信写死在程序中.但是如果你的项目庞大,每个模块有各自的负责人,并且负责人也经常会变更,那么咱们就不能总修改代码了吧?
或者说你的个人博客可以让读者订阅,读者这么多,咱们根本控制不过来呀.
①.、连接redis数据库
public static ConnectionMultiplexer Manager
private static ConnectionMultiplexer GetManager(string connectionString=null){
return ConnectionMultiplexer.Connect(connectionString);
}
public long RedisPub(string channel, T msg){
return sub.Publish(channel, SerializeContent(msg));
}
订阅函数的回调函数的输入参数为得到的消息
public void RedisSub(string subChannael,Actioncallback){
});
}
public void Unsubscribe(string channel){
sub.Unsubscribe(channel);
}
public void UnsubscribeAll(){
sub.UnsubscribeAll();
}
static void Main(string[] args){
Console.ReadLine();
}
只有当收到消息时,回调函数被调用,不用使用另外的线程来循环订阅.订阅只需要一次即可.
private static void SubCallBack(string msg){
Console.WriteLine("Cliect1:{0}",msg);
}
private void button1_Click(object sender, EventArgs e){? ? ? ? ? ?
client.RedisPub("myFirstChannel", textBox1.Text);
}
以上就是土嘎嘎小编为大家整理的C#的StackExchange.Redis实现订阅分发模式相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!