Redis在.net中的应用

来源:互联网 发布:福岛五十死士现状知乎 编辑:程序博客网 时间:2024/05/17 02:02

image

我们以控制台程序为例来简单看一下最普通的redis的用法

注释写的很详细,大家可以看一下:

[csharp] view plaincopy
  1. static RedisClient Redis = new RedisClient("127.0.0.1", 6379);//redis服务IP和端口  
  2.        static void Main(string[] args)  
  3.        {   
  4.   
  5.            //将字符串列表添加到redis  
  6.    
  7.            List<string> storeMembers = new List<string>() { "one""two""three" };  
  8.            storeMembers.ForEach(x => Redis.AddItemToList("additemtolist", x));   
  9.   
  10.            //得到指定的key所对应的value集合  
  11.    
  12.            var members = Redis.GetAllItemsFromList("additemtolist");  
  13.            members.ForEach(s => Console.WriteLine("<br/>additemtolist :" + s));   
  14.   
  15.            // 获取指定索引位置数据   
  16.            var item = Redis.GetItemFromList("addarrangetolist", 2);  
  17.            Console.WriteLine(item);   
  18.   
  19.            //移除数据  
  20.    
  21.            var list = Redis.Lists["addarrangetolist"];  
  22.            list.Clear();//清空  
  23.            list.Remove("two");//移除指定键值  
  24.            //  list.RemoveAt(2);//移除指定索引位置数据   
  25.   
  26.            //存储对象(JSON序列化方法)它比object序列化方法效率高  
  27.            Redis.Set<UserInfo>("userinfo"new UserInfo() { UserName = "李四", Age = 45 });  
  28.            UserInfo userinfo = Redis.Get<UserInfo>("userinfo");  
  29.            Console.WriteLine("name=" + userinfo.UserName + "age=" + userinfo.Age);   
  30.   
  31.            //存储值类型数据  
  32.            Redis.Set<int>("my_age", 12);//或Redis.Set("my_age", 12);  
  33.            int age = Redis.Get<int>("my_age");  
  34.            Console.WriteLine("age=" + age);   
  35.   
  36.            //object序列化方式存储  
  37.            var ser = new ObjectSerializer();    //位于namespace ServiceStack.Redis.Support;  
  38.            bool result = Redis.Set<byte[]>("userinfo2", ser.Serialize(new UserInfo() { UserName = "张三", Age = 12 }));  
  39.            UserInfo userinfo2 = ser.Deserialize(Redis.Get<byte[]>("userinfo2")) as UserInfo;  
  40.            Console.WriteLine("name=" + userinfo2.UserName + "age=" + userinfo2.Age);   
  41.   
  42.            //也支持列表  
  43.            List<UserInfo> userinfoList = new List<UserInfo> {  
  44.             new UserInfo{UserName="zzl",Age=1,Id=1},  
  45.             new UserInfo{UserName="zhz",Age=3,Id=2},  
  46.             };  
  47.            Redis.Set<byte[]>("userinfolist_serialize", ser.Serialize(userinfoList));  
  48.            List<UserInfo> userList = ser.Deserialize(Redis.Get<byte[]>("userinfolist_serialize")) as List<UserInfo>;  
  49.            userList.ForEach(i =>  
  50.            {  
  51.                Console.WriteLine("name=" + i.UserName + "age=" + i.Age);  
  52.            });   
  53.   
  54. }  


这是最原始的redis操作,下一节我将对redis操作进行封装,使它具有更大的扩展性

0 0
原创粉丝点击