Redis学习笔记~五大数据结果的测试

回到目录

事实上只是对四大类型进行了测试,因为确实不知道引入hash来存储对象的好处,用string确实也可以存储对象

测试五个数据结构:基础数据

1 Person p1 = new Person("zhang", "zhanling");
2 Person p2 = new Person(2, "zhang", "hangzheng");
3 Person p3 = new Person(3, "zhang", "qiaoli");
4 Person p4 = new Person(4, "zhao", "rose");

 

测试string类型(存储简单字符,也可以存储被序列化了的对象)

1 rd.Set("str", "hello world!");
2 rd.Set("per", p1);
3 Console.WriteLine(rd.Get("str"));
4 Console.WriteLine((rd.Get("per") as Person).LastName);

 

结果:

clip_image002

测试Hash类型(存储单个对象,可以记载一个完成的实体信息)

测试List类型(双向链表,支持左右进出,可以实现队列和堆栈等数据结构)

View Code
1 #region List
2 rd.LeftPush("pp", p1);
3 rd.LeftPush("pp", p2);
4 rd.LeftPush("pp", p3);
5 Console.WriteLine((rd.LeftPop("pp") as Person).LastName);
6 #endregion

 

结果:

clip_image004

测试Set类型(对象的集合,值类型集合或者引用类型集合)

View Code
1 #region Set
2 rd.AddToSet("ps", p1);
3 rd.AddToSet("ps", p2);
4 rd.AddToSet("ps", p3);
5 rd.GetMembersOfSet("ps").Cast<Person>().ToList().ForEach(i => Console.WriteLine(i.UserID + i.LastName));
6 #endregion

 

结果:

clip_image006

测试Sorted Set类型(在set类型基础上,添加了一个序列字段score,它可以方便的实现集合中元素的排序)

View Code
1 #region Sorted Set
2 rds.Add("pss", 2, p1);
3 rds.Add("pss", 1, p2);
4 rds.Add("pss", 3, p3);
5 rds.GetList("pss").Cast<Person>().ToList().ForEach(i => Console.WriteLine(i.UserID + i.LastName));
6 #endregion

 

结果如下,它会按着score的数值进行升序排列

clip_image008

回到目录

posted @ 2012-05-18 15:39 张占岭 阅读(...) 评论(...) 编辑 收藏