zoukankan      html  css  js  c++  java
  • Redis 发布订阅

    订阅:

       

      class Program
        {
            //版本2:使用Redis的客户端管理器(对象池)
            public static IRedisClientsManager redisClientManager = new PooledRedisClientManager(new string[]
            {
                //如果是Redis集群则配置多个{IP地址:端口号}即可
                //例如: "10.0.0.1:6379","10.0.0.2:6379","10.0.0.3:6379"
                "127.0.0.1:6379"
            });
    
            //从池中获取Redis客户端实例
            public static IRedisClient redisClient = redisClientManager.GetClient();
    
    
            static void Main(string[] args)
            {
                //创建订阅
                IRedisSubscription subscription = redisClient.CreateSubscription();
    
                //接收消息处理Action
                subscription.OnMessage = (channel, msg) =>
                {
                    Console.WriteLine("频道【" + channel + "】订阅客户端接收消息:" + ":" + msg + "         [" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "]");
                    Console.WriteLine("订阅数:" + subscription.SubscriptionCount);
                    Console.WriteLine("___________________________________________________________________");
    
                };
    
                //订阅事件处理
                subscription.OnSubscribe = (channel) =>
                {
                    Console.WriteLine("订阅客户端:开始订阅" + channel);
                };
    
                //取消订阅事件处理
                subscription.OnUnSubscribe = (a) => { Console.WriteLine("订阅客户端:取消订阅"); };
    
                //订阅频道
                subscription.SubscribeToChannels("channel-2");
                Console.WriteLine("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
                Console.ReadKey();
            }
        }

    发布:

       

    //版本2:使用Redis的客户端管理器(对象池)
            public static IRedisClientsManager redisClientManager = new PooledRedisClientManager(new string[]
            {
                //如果是Redis集群则配置多个{IP地址:端口号}即可
                //例如: "10.0.0.1:6379","10.0.0.2:6379","10.0.0.3:6379"
                "127.0.0.1:6379"
            });
            //从池中获取Redis客户端实例
            public static IRedisClient redisClient = redisClientManager.GetClient();
     
            static void Main(string[] args)
            {
    
                while (true)
                {
                    string input = Console.ReadLine();
                    redisClient.PublishMessage("channel-1", input);
                    redisClient.PublishMessage("channel-2", input);
                }
                Console.ReadKey();
    }
  • 相关阅读:
    在打工生涯中 规划自己的老板梦
    不屈不挠的战斗意志, 看创业者九大素质十条规则
    一条走不完的路,想创业先给自己几个问号
    摄影偶遇
    封顶法则:企业家抱负决定企业高度
    不批评、不责备、不抱怨、不攻击——经典沟通原则15条
    企业成败大关键,用情绪智力提升你的领导魅力
    穿汉服有感
    Oracle Advanced Security:Column Encryption Overhead
    在OEL5上安装配置Oracle Gird Control 10.2.0.5
  • 原文地址:https://www.cnblogs.com/liyangLife/p/5807641.html
Copyright © 2011-2022 走看看