事实上只是对四大类型进行了测试,因为确实不知道引入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);
结果:
测试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
结果:
测试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
结果:
测试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的数值进行升序排列