[StackExchange]Redis 发布订阅

来源:互联网 发布:java cova spank bang 编辑:程序博客网 时间:2024/06/03 17:43

直接上代码

 public class Lampard    {        public static void Main(string[] args)        {            using (var client = ConnectionMultiplexer.Connect("192.168.224.134:6379,abortConnect=false,ssl=false,password=123"))            {                if (client.IsConnected)                    Console.WriteLine("Connect Success!");                else                    Console.WriteLine("Connect Fails");                var sub = client.GetSubscriber();                sub.Subscribe("test", (channel, message) =>                {                    Console.WriteLine("收到来自" + channel.ToString() + "的消息:" + message);                });                while (true)                {                    Console.WriteLine("已经订阅test,请输入要发布的消息");                    sub.Publish("test", Console.ReadLine());                }                // Console.ReadLine();            }        }    }

效果图
这里写图片描述

指定消息发布的顺序(Message Order)

当使用 pub/sub API 时,你可以指定消息是并行还是有序的。
有序的意味着你不需要考虑线程安全的问题 ,同时也意味着消息会通过队列完全按照你发布的顺序来进行传递,这必然导致消息的延迟。
并行处理,不能保证消息是按照发布的顺序来进行处理的,你的代码也要保证当存在并发时程序运行正常,
消息的顺序通常是无关紧要的, 并行处理可以获得更好的性能和扩展性。

为确保安全,消息的传递默认是有序的。为获得更好的性能强烈建议你使用并行操作 。 这是非常简单的。

multiplexer.PreserveAsyncOrder = false;

建议并非是你配置该选项的理由, 是否适合完全取决与你订阅消息的代码。

http://www.runoob.com/redis/redis-pub-sub.html
http://www.mamicode.com/info-detail-1063252.html

原创粉丝点击