• 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操作进行封装,使它具有更大的扩展性。

    回到目录

  • 相关阅读:
    sybase数据库破解
    原生js实现音乐列表(隔行换色、全选)
    原生JavaScript实现评分效果
    原生javascript实现选项卡(基础版)
    LeetCode【111. 二叉树的最小深度】
    LeetCode【110. 平衡二叉树】
    LeetCode【108. 将有序数组转换为二叉搜索树】
    LeetCode【101. 对称二叉树】
    LeetCode【104. 二叉树的最大深度】
    持续更新scrapy的错误,ValueError: Missing scheme in request url:
  • 原文地址:https://www.cnblogs.com/lori/p/2335466.html
Copyright © 2020-2023  润新知