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);
结果:
测试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
结果:
测试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
结果:
测试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的数值进行升序排列
TAG: