2012年5月18日星期五

redis五大数据结果的测试

redis五大数据结果的测试

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

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

Person p1 = new Person("zhang", "zhanling");

Person p2 = new Person(2, "zhang", "hangzheng");

Person p3 = new Person(3, "zhang", "qiaoli");

Person p4 = new Person(4, "zhao", "rose");

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

rd.Set("str", "hello world!");

rd.Set("per", p1);

Console.WriteLine(rd.Get("str"));

Console.WriteLine((rd.Get("per") as Person).LastName);

结果:

clip_image002

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

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

#region List

rd.LeftPush("pp", p1);

rd.LeftPush("pp", p2);

rd.LeftPush("pp", p3);

Console.WriteLine((rd.LeftPop("pp") as Person).LastName);

#endregion

结果:

clip_image004

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

#region Set

rd.AddToSet("ps", p1);

rd.AddToSet("ps", p2);

rd.AddToSet("ps", p3);

rd.GetMembersOfSet("ps").Cast<Person>().ToList().ForEach(i => Console.WriteLine(i.UserID + i.LastName));

#endregion

结果:

clip_image006

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

#region Sorted Set

rds.Add("pss", 2, p1);

rds.Add("pss", 1, p2);

rds.Add("pss", 3, p3);

rds.GetList("pss").Cast<Person>().ToList().ForEach(i => Console.WriteLine(i.UserID + i.LastName));

#endregion

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

clip_image008


TAG: