netcore redis发布订阅

发布订阅

 

      /// <summary>
        /// Redis发布订阅  发布
        /// </summary>
        /// <typeparam name="T">数据项类型</typeparam>
        /// <param name="channel"></param>
        /// <param name="msg"></param>
        /// <returns></returns>
        public long Publish<T>(string channel, T msg)
        {
            ISubscriber sub = _conn.GetSubscriber();
            return sub.Publish(channel, ConvertJson(msg));
        }

订阅

        /// <summary>
        /// Redis发布订阅  订阅
        /// </summary>
        /// <param name="subChannel"></param>
        /// <param name="handler"></param>
        public void Subscribe(string subChannel, Action<RedisChannel, RedisValue> handler = null)
        {
            ISubscriber sub = _conn.GetSubscriber();
            sub.Subscribe(subChannel,
                (channel, message) =>
                {
                    if (handler == null)
                    {
                        Console.WriteLine(subChannel + @" 订阅收到消息:" + message);
                    }
                    else
                    {
                        handler(channel, message);
                    }
                });
        }

 

posted @ 2020-08-18 15:23  `可乐  阅读(515)  评论(0)    收藏  举报