Redis:在windows环境安装Redis

来源:互联网 发布:java程序员培训哪家好 编辑:程序博客网 时间:2024/05/21 17:11

第一步:

下载windows版本的Redis:https://github.com/MSOpenTech/Redis。

第二步:

在命令行执行:D:\redis-2.6\redis-server.exe。

第三步:

这里有教程:https://github.com/ServiceStack/ServiceStack.Redis。

C#版本的客户端类库

Write、Read和Remove测试

代码下载:http://yunpan.cn/QtNrcGxnPRVdV。

 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.Threading; 7  8 using ServiceStack.Redis; 9 using ServiceStack.Text;10 using ServiceStack.Redis.Generic;11 12 namespace RedisStudy13 {14     public class User15     {16         public string Name { get; set; }17     }18 19     class Program20     {21         static void Main(string[] args)22         {23             Write();24             Read();25             Remove();26         }27 28         private static void Write()29         {30             using (var redisClient = new RedisClient())31             {32                 IRedisTypedClient<User> redis = redisClient.As<User>();33 34                 var users = redis.Lists["urn:users"];35 36                 users.Add(new User { Name = "段光伟" });37                 users.Add(new User { Name = "段光宇" });38 39                 redis.Save();40             }41         }42 43         private static void Read()44         {45             using (var redisClient = new RedisClient())46             {47                 IRedisTypedClient<User> redis = redisClient.As<User>();48 49                 var users = redis.Lists["urn:users"];50 51                 Console.WriteLine(users.Count);52 53                 redis.Save();54             }55         }56 57         private static void Remove()58         {59             using (var redisClient = new RedisClient())60             {61                 IRedisTypedClient<User> redis = redisClient.As<User>();62 63                 var users = redis.Lists["urn:users"];64 65                 redis.RemoveEntry(users);66             }67         }68     }69 }

发布订阅测试

 1         static void Main(string[] args) 2         { 3             var messagesReceived = 0; 4             var maxMessage = 5; 5             var channelName = "幸福框架"; 6  7             using (var redisConsumer = new RedisClient()) 8             { 9                 using (var subscription = redisConsumer.CreateSubscription())10                 {11                     subscription.OnSubscribe = channel =>12                     {13                         Console.WriteLine(String.Format("订阅频道:'{0}'", channel));14                     };15                     subscription.OnUnSubscribe = channel =>16                     {17                         Console.WriteLine(String.Format("取消订阅频道:'{0}'", channel));18                     };19                     subscription.OnMessage = (channel, msg) =>20                     {21                         Console.WriteLine(String.Format("从频道:'{0}'获取了消息:'{1}'", channel, msg));22 23                         if (++messagesReceived == maxMessage)24                         {25                             subscription.UnSubscribeFromAllChannels();26                         }27                     };28 29                     ThreadPool.QueueUserWorkItem(x =>30                     {31                         Thread.Sleep(200);32                         Console.WriteLine("开始发布消息");33 34                         using (var redisPublisher = new RedisClient())35                         {36                             for (var i = 1; i <= 5; i++)37                             {38                                 var message = "段光伟:" + DateTime.Now;39                                 Console.WriteLine(String.Format("发布消息:'{0}'到频道:'{1}'", message, channelName));40                                 redisPublisher.PublishMessage(channelName, message);41                             }42                         }43                     });44 45                     Console.WriteLine(String.Format("开始监听频道:'{0}'", channelName));46                     subscription.SubscribeToChannels(channelName); //blocking47                 }48             }49         }

备注

听说很多人用Redis做缓存和消息队列,就想尝试一下,这次先把安装环境弄好,有个基本了解了,找个时间继续学习:缓存和消息队列。

 


<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击