新建项目后先引用库ServiceStack.Redis


1. 参数配置

/*连接字符串格式*localhost*127.0.0.1:6379*redis://localhost:6379*password@localhost:6379*clientid:password@localhost:6379*redis://clientid:password@localhost:6380?ssl=true&db=1*/varredis_servre="192.168.1.104:6379";varredis_channel="test@#";varchannel_exit="exit";

2. 建立redis连接池

varrwHosts=newstring[]{redis_servre};varrHosts=newstring[]{};varredisPool=newPooledRedisClientManager(rwHosts,rHosts,newRedisClientManagerConfig(){MaxWritePoolSize=5,MaxReadPoolSize=5,AutoStart=true});

3. 订阅channels

vart_sub=newThread(()=>{//using(varredisClient=newRedisClient("192.168.1.104",6379))using(varredisClient=redisPool.GetClient()){using(varsub=redisClient.CreateSubscription()){sub.OnMessage=(channel,msg)=>{Console.WriteLine("recv{0}from{1}",msg,channel);if(msg==channel_exit){sub.UnSubscribeFromAllChannels();}};//会阻塞线程sub.SubscribeToChannels(redis_channel);}}Console.WriteLine("subexit");});t_sub.Start();

4. 向channel发布消息

using(varredisClient=redisPool.GetClient()){redisClient.PublishMessage(redis_channel,"hello");Console.ReadKey();redisClient.PublishMessage(redis_channel,channel_exit);}

5. 运行程序查看效果,可以通过redis-cli程序发送消息试试看

>publishtest@#hello>publishtest@#exit


附件:http://down.51cto.com/data/2367225