全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

.net core如何使用Redis发布订阅

Redis是一个性能非常强劲的内存数据库,它一般是作为缓存来使用,但是他不仅仅可以用来作为缓存,比如著名的分布式框架dubbo就可以用Redis来做服务注册中心。接下来介绍一下.net core 使用Redis的发布/订阅功能。

Redis 发布订阅

Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。
Redis 客户端可以订阅任意数量的通道。

下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:

当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:

使用Redis命令

首先,通过subscribe redismessage命令使两个客户端订阅redismessage通道:

然后再打开一个Redis客户端,使用命令publish redismessage "消息内容"发布消息

使用.net core 实现

这里我选择的连接驱动为 StackExchange.Redis,这里需要注意的是 ServiceStack.Redis连接驱动已经逐渐商业化,4.0及以上版本都具有限制,所以选择的免费且好用的StackExchange.Redis,使用nuget安装即可。

建立订阅客户端

//创建连接
using (ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("127.0.0.1:6379"))
{
  ISubscriber sub = redis.GetSubscriber();

  //订阅名为 messages 的通道

  sub.Subscribe("messages", (channel, message) => {

    //输出收到的消息
    Console.WriteLine($"[{DateTime.Now:HH:mm:ss}] {message}");
  });
  Console.WriteLine("已订阅 messages");
  Console.ReadKey();
}

建立发布客户端

//创建连接
using (ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("127.0.0.1:6379"))
{
  ISubscriber sub = redis.GetSubscriber();

  Console.WriteLine("请输入任意字符,输入exit退出");

  string input;

  do
  {
    input = Console.ReadLine();
    sub.Publish("messages", input);
  } while (input != "exit");
}

下面运行了一个发布客户端,两个订阅客户端:

Demo下载

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# .net  # core  # Redis  # Redis发布订阅  # 发布订阅  # Redis数据库基础与ASP.NET Core缓存实现  # ASP.NET Core扩展库ServiceStack.Redis用法介绍  # .NET Core中使用Redis与Memcached的序列化问题详析  # .net core使用redis基于StackExchange.Redis  # 详解Asp.net Core 使用Redis存储Session  # 详解如何在ASP.NET Core中使用Redis  # ASP.NET Core中使用Redis实现缓存  # 客户端  # 的是  # 是一个  # 发送给  # 就会  # 是一种  # 可以用  # 请输入  # 然后再  # 来做  # 好用  # 介绍一下  # 需要注意  # 大家多多  # 可以用来  # 发送消息  # 新消息  # 但是他  # 展示了  # exit 


相关文章: 如何选择建站程序?包含哪些必备功能与类型?  Python多线程使用规范_线程安全解析【教程】  导航网站建站方案与优化指南:一站式高效搭建技巧解析  免费ppt制作网站,有没有值得推荐的免费PPT网站?  公司网站的制作公司,企业网站制作基本流程有哪些?  股票网站制作软件,网上股票怎么开户?  建站VPS选购需注意哪些关键参数?  如何高效配置IIS服务器搭建网站?  ,怎么在广州志愿者网站注册?  重庆市网站制作公司,重庆招聘网站哪个好?  简易网站制作视频教程,使用记事本编写一个简单的网页html文件?  建站OpenVZ教程与优化策略:配置指南与性能提升  制作网站的基本流程,设计网站的软件是什么?  盐城做公司网站,江苏电子版退休证办理流程?  深圳网站制作平台,深圳市做网站好的公司有哪些?  建站之星如何开启自定义404页面避免用户流失?  济南企业网站制作公司,济南社保单位网上缴费步骤?  如何通过FTP空间快速搭建安全高效网站?  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  html制作网站的步骤有哪些,iapp如何添加网页?  建站之星后台搭建步骤解析:模板选择与产品管理实操指南  建站之星备案是否影响网站上线时间?  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  如何在Windows 2008云服务器安全搭建网站?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  C#如何序列化对象为XML XmlSerializer用法  企业微网站怎么做,公司网站和公众号有什么区别?  如何快速生成凡客建站的专业级图册?  高端企业智能建站程序:SEO优化与响应式模板定制开发  Swift中swift中的switch 语句  全景视频制作网站有哪些,全景图怎么做成网页?  制作农业网站的软件,比较好的农业网站推荐一下?  Java解压缩zip - 解压缩多个文件或文件夹实例  定制建站流程解析:需求评估与SEO优化功能开发指南  建站之星如何通过成品分离优化网站效率?  如何通过IIS搭建网站并配置访问权限?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  如何用狗爹虚拟主机快速搭建网站?  建站之星代理平台如何选择最佳方案?  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  建站主机是否属于云主机类型?  建站org新手必看:2024最新搭建流程与模板选择技巧  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  网站网页制作专业公司,怎样制作自己的网页?  已有域名和空间如何搭建网站?  网站制作报价单模板图片,小松挖机官方网站报价?  如何在香港免费服务器上快速搭建网站?  高防服务器租用如何选择配置与防御等级?  C#怎么使用委托和事件 C# delegate与event编程方法 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。