Redis学习笔记~Redis在.net中的应用

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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值