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();
    }
  • 相关阅读:
    水平时间轴 html + css
    position:fixed 属性在iphone 中不起作用
    placeholer 换行
    单选 复选按钮 样式
    vux 中popup 组件 Mask 遮罩在最上层问题的解决
    vux 表单提交数据 返回后页面跳转
    前端 js 发送验证码
    前端 js 实现简单 表单提交
    vux 获取后台数据
    装饰模式之AOP之动态改变参数,和原函数绑定属性丢失
  • 原文地址:https://www.cnblogs.com/liyangLife/p/5807641.html
Copyright © 2011-2022 走看看