Redis學習筆記~Redis在.net中的應用


回到目錄

首先redis在.net環境中需要引用幾個DLL,它們分別是

image

我們以控制台程序為例來簡單看一下最普通的redis的用法

注釋寫的很詳細,大家可以看一下:

       static RedisClient Redis = new RedisClient("127.0.0.1", 6379);//redis服務IP和端口
       static void Main(string[] args)
       {

           //將字符串列表添加到redis

           List<string> storeMembers = new List<string>() { "one", "two", "three" };
           storeMembers.ForEach(x => Redis.AddItemToList("additemtolist", x));

           //得到指定的key所對應的value集合

           var members = Redis.GetAllItemsFromList("additemtolist");
           members.ForEach(s => Console.WriteLine("<br/>additemtolist :" + s));

           // 獲取指定索引位置數據
           var item = Redis.GetItemFromList("addarrangetolist", 2);
           Console.WriteLine(item);

           //移除數據

           var list = Redis.Lists["addarrangetolist"];
           list.Clear();//清空
           list.Remove("two");//移除指定鍵值
           //  list.RemoveAt(2);//移除指定索引位置數據

           //存儲對象(JSON序列化方法)它比object序列化方法效率高
           Redis.Set<UserInfo>("userinfo", new UserInfo() { UserName = "李四", Age = 45 });
           UserInfo userinfo = Redis.Get<UserInfo>("userinfo");
           Console.WriteLine("name=" + userinfo.UserName + "age=" + userinfo.Age);

           //存儲值類型數據
           Redis.Set<int>("my_age", 12);//或Redis.Set("my_age", 12);
           int age = Redis.Get<int>("my_age");
           Console.WriteLine("age=" + age);

           //object序列化方式存儲
           var ser = new ObjectSerializer();    //位於namespace ServiceStack.Redis.Support;
           bool result = Redis.Set<byte[]>("userinfo2", ser.Serialize(new UserInfo() { UserName = "張三", Age = 12 }));
           UserInfo userinfo2 = ser.Deserialize(Redis.Get<byte[]>("userinfo2")) as UserInfo;
           Console.WriteLine("name=" + userinfo2.UserName + "age=" + userinfo2.Age);

           //也支持列表
           List<UserInfo> userinfoList = new List<UserInfo> {
            new UserInfo{UserName="zzl",Age=1,Id=1},
            new UserInfo{UserName="zhz",Age=3,Id=2},
            };
           Redis.Set<byte[]>("userinfolist_serialize", ser.Serialize(userinfoList));
           List<UserInfo> userList = ser.Deserialize(Redis.Get<byte[]>("userinfolist_serialize")) as List<UserInfo>;
           userList.ForEach(i =>
           {
               Console.WriteLine("name=" + i.UserName + "age=" + i.Age);
           });

}

 

這是最原始的redis操作,下一節我將對redis操作進行封裝,使它具有更大的擴展性。

回到目錄


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM