首页 > 数据库 >Redis 用 IConnectionMultiplexer 连接 订阅消息

Redis 用 IConnectionMultiplexer 连接 订阅消息

时间:2022-09-18 10:00:35浏览次数:81  
标签:订阅 IConnectionMultiplexer Multiplexer Redis value 后台

创建订阅类:

using StackExchange.Redis;

namespace TestWebApplication.BackgroundTasks
{
    /// <summary>
    /// Redis 订阅者,长时间运行的后台服务
    /// </summary>
    public class RedisSubscriber : BackgroundService
    {
        private readonly IConnectionMultiplexer m_Multiplexer;
        public RedisSubscriber(IConnectionMultiplexer multiplexer)
        {
            m_Multiplexer = multiplexer;
        }

        protected override Task ExecuteAsync(CancellationToken stoppingToken)
        {
            var subscribver = m_Multiplexer.GetSubscriber();
            return subscribver.SubscribeAsync("message", ((channel, value) =>
            {
                Console.WriteLine($"来自订阅的消息:{value}");
            }));
        }
    }
}

  注册后台服务:

 services.AddHostedService<RedisSubscriber>();//长时间运行的后台服务

  发布消息:

 

 

 

标签:订阅,IConnectionMultiplexer,Multiplexer,Redis,value,后台
From: https://www.cnblogs.com/friend/p/16704238.html

相关文章

  • 本地连不上远程服务器的Redis
    本地连不上远程服务器的Redis注意:Redis安装在linux虚拟机上1.检查连接远程服务器ip地址是否正确在linux中:ifconfig2.检查远程服务器防火墙是否关闭(关闭或者设置......
  • Redis介绍与安装
    2022-09-17NoSQL(notonlySQL)的介绍:是一种非关系型数据库。NoSQL常用的产品种类:RedisMongodbHbasehadoopRedis常用的场景:(1)可用于缓冲,即内......
  • 05--Redis高级:持久化、主从复制、哨兵、集群、redis做缓存
    1redis持久化#持久化redis的所有数据保存在内存中,对数据更新将异步的保存到硬盘上#实现方式#1.快照(全量复制):某时某刻数据的一个完整备份-mysql的......
  • Redis出现的原因
    Redis出现的原因1、冯诺依曼计算机硬件体系决定了磁盘的使用量会越来越大,导致IO交互的速度会越来越慢2、网络带宽的不够稳定,也是其中的一个原因,因为磁盘的IO操作主要就是......
  • Redis缓存查询(防缓存击穿)
    @GetMapping("getResourceByConsumer")publicAPIResponsegetResourceByConsumer(StringconsumerId){Stringerror="";try{List......
  • redis的面试
    Redis的数据类型String1.setnamezhangsan2.getname3.setexname5zhangsan--设置时间为5秒4.getsetnamezhangsan--给name设置值为张三,并且返回原来的值5.set......
  • 用 Redis 做一个可靠的延迟队列
    我们先看看以下业务场景:当订单一直处于未支付状态时,如何及时的关闭订单,并退还库存?新创建店铺,N天内没有上传商品,系统如何知道该信息,并发送激活短信?上述场景最简单直接的......
  • 分页查询,redis缓存分页数据,redis双重检测
    StringpageKey=RedisKeyManagement.getKey(RedisKeyManagement.ACTIVITY_BAISHI_PAGE_CACHE,Arrays.asList(activityId.toString(),String.valueOf(current)));......
  • redis集群部署文档
    1.部署的服务器ip地址172.16.0.151172.16.0.173172.16.0.2202.redis版本wgethttps://download.redis.io/releases/redis-6.2.5.tar.gz3.部署架......
  • linux环境配置 (redis、jdk、nginx、mysql)
    linux环境配置环境准备服务器:腾讯云服务器操作系统:centos8.0终端控制器:finalshell3.9.34redis7.0.4jdk1.8.0nginx-1.21.3mysql8.0.30redis安装创建或选......