StackExchange.Redis实现Redis发布订阅

Posted 小破天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了StackExchange.Redis实现Redis发布订阅相关的知识,希望对你有一定的参考价值。

由于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

 

以上是关于StackExchange.Redis实现Redis发布订阅的主要内容,如果未能解决你的问题,请参考以下文章

为 StackExchange.Redis 实现最小负载连接的问题

EF+Redis(StackExchange.Redis)实现分布式锁,自测可行

Redis学习笔记~StackExchange.Redis实现分布式Session

2022年11月 .NET CORE工具案例-StackExchange.Redis代码变量方式实现商品秒杀

2022年11月 .NET CORE工具案例-StackExchange.Redis代码变量方式实现商品秒杀

StackExchange.Redis 命令扩展