Redis消息订阅和发布开发总结

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ServiceStack.Redis;

namespace ConfigPlugin.Service
{
public class ServiceStack
{
public virtual void RedisSubscription(Action<string,string> OnMessage, string[] channels) {
var clientsManager = new PooledRedisClientManager(new string[] { "password@127.0.0.1:6379" });//redis服务器所在ip地址及端口还有password
var redisPubSub = new RedisPubSubServer(clientsManager,channels)//channels为需要订阅的频道
{
OnMessage = OnMessage //委托方法,接收消息
}.Start();

 clientsManager.GetClient().PublishMessage("redisChat", "testchat");//发送消息到redisChat频道上


}

public ServiceStack()
{
RedisSubscription(OnMessage, new string[] { "redisChat", "redisChat1" });
}

public void OnMessage(string chanel,string message)//委托方法实现
{
Console.WriteLine("chanel is :{0}", chanel);
Console.WriteLine("message is :{0}", message);
}

}
}

posted @ 2017-08-02 13:30  fryter  阅读(238)  评论(0)    收藏  举报