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();
    }
  • 相关阅读:
    Android 平板模拟器内存修改
    UI设计另类,创意的网站和App 集合(持续更新)
    Android平台根据分辨率计算屏幕尺寸,基于物理尺寸来验证手机和平板应用合并的可行性
    shape和selector的结合使用
    RGB浅谈
    Android开发大牛们的博客地址(持续更新)
    解决ViewPager添加点击监听器无触发的问题
    VC 输出闪烁的字母
    计算机体系结构精要
    Xmanager远程连接Ubuntu,窗口无法输入字母'd'
  • 原文地址:https://www.cnblogs.com/liyangLife/p/5807641.html
Copyright © 2011-2022 走看看