直接上代码
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