首页 > 技术文章 > StackExchange.Redis实现Redis发布订阅

xiaopotian 2017-05-21 12:55 原文

由于ServiceStack.Redis最新版已经收费,所以现在大家陆陆续续都换到StackExchange.Redis上了,关于StackExchange.Redis详细可以参看Github

https://stackexchange.github.io/StackExchange.Redis/的官方文档

先看一下效果图

这是项目解决方案,COMMON里面放置的是StackExchange.Redis 通用类的封装,已经在实际项目中使用,目前感觉良好

该Demo主要包括两部分,

一:发布

static async Task Pub()
        {
            Console.WriteLine("请输入要发布向哪个通道?");
            var channel = Console.ReadLine();

            await Task.Delay(10);
            for(int i = 0; i < 10; i++)
            {
                await _redis.PublishAsync(channel, i.ToString());
            }
                
        }

二:订阅

static async Task Sub()
        {
            Console.WriteLine("请输入您要订阅哪个通道的信息?");
            var channelKey = Console.ReadLine();
            await _redis.SubscribeAsync(channelKey, (channel, message) =>
            {
                Console.WriteLine("接受到发布的内容为:" + message);
            });
            Console.WriteLine("您订阅的通道为:<< " + channelKey + " >> ! 请耐心等待消息的到来!!");
        }
View Code

 

最后附上GitHub地址

https://github.com/xiaopotian1990/RedisDemo

 

推荐阅读