using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace RedisTest { class Program { static void Main(string[] args) { //读取数据,如果缓存存在直接从缓存中读取,否则从数据库读取然后写入redis using (var redisClient = RedisManager.GetClient()) { //Sorted Set类型,可手动指定score,优先级更高。没有指定就按照默认的字母排序。 redisClient.AddItemToSortedSet("a5", "ffff", 10); redisClient.AddItemToSortedSet("a5", "bbbb"); redisClient.AddItemToSortedSet("a5", "gggg"); redisClient.AddItemToSortedSet("a5", "cccc", 20); redisClient.AddItemToSortedSet("a5", "waaa", 1); System.Collections.Generic.List<string> list = redisClient.GetAllItemsFromSortedSet("a5"); foreach (string str in list) { Console.WriteLine(str); } ////Set类型 ////对Set类型进行操作 //redisClient.AddItemToSet("a3", "ddd"); //redisClient.AddItemToSet("a3", "ccc"); //redisClient.AddItemToSet("a3", "tttt"); //redisClient.AddItemToSet("a3", "sssh"); //redisClient.AddItemToSet("a3", "hhhh"); //System.Collections.Generic.HashSet<string> hashset = redisClient.GetAllItemsFromSet("a3"); //foreach (string str in hashset) //{ // Console.WriteLine(str); //} ////求并集 //redisClient.AddItemToSet("a3", "ddd"); //redisClient.AddItemToSet("a3", "ccc"); //redisClient.AddItemToSet("a3", "tttt"); //redisClient.AddItemToSet("a3", "sssh"); //redisClient.AddItemToSet("a3", "hhhh"); //redisClient.AddItemToSet("a4", "hhhh"); //redisClient.AddItemToSet("a4", "h777"); //hashset = redisClient.GetUnionFromSets(new string[] { "a3", "a4" }); //foreach (string str in hashset) //{ // Console.WriteLine(str); //} ////求交集 //hashset = redisClient.GetIntersectFromSets(new string[] { "a3", "a4" }); //foreach (string str in hashset) //{ // Console.WriteLine(str); //} ////求差集. //hashset = redisClient.GetDifferencesFromSet("a3", new string[] { "a4" }); //foreach (string str in hashset) //{ // Console.WriteLine(str); //} ////List数据类型 ////作为队列使用 //redisClient.EnqueueItemOnList("name", "zhangsan"); //redisClient.EnqueueItemOnList("name", "lisi"); //long count = redisClient.GetListCount("name"); //for (int i = 0; i < count; i++) //{ // Console.WriteLine(redisClient.DequeueItemFromList("name")); //} ////作为栈使用 //redisClient.PushItemToList("name2", "wangwu"); //redisClient.PushItemToList("name2", "maliu"); //count = redisClient.GetListCount("name2"); //for (int i = 0; i < count; i++) //{ // Console.WriteLine(redisClient.PopItemFromList("name2")); //} ////Hash类型 //redisClient.SetEntryInHash("user", "userInfo", "aaaaaaaaaab"); //redisClient.SetEntryInHash("user", "address", "bbbb"); //redisClient.SetEntryInHash("user", "address", "shang hai"); //List<string> list1 = redisClient.GetHashKeys("user"); //var userinfo = redisClient.GetValueFromHash("user", "userInfo");//获取值 //var address = redisClient.GetValueFromHash("user", "address");//获取值 ////String类型 --存储List<Model>数据 ////string UserName; //Student student1 = new Student() { ID=1, Name="张三", Age=21}; //Student student2 = new Student() { ID = 2, Name = "李四", Age = 22 }; //Student student3 = new Student() { ID = 3, Name = "王五", Age = 23 }; //List<Student> students = new List<Student>() { student1, student2, student3}; //redisClient.Set<Student>("student1", student1); //var s1 = redisClient.Get<Student>("student1"); //printStuInfo(s1); //redisClient.Set<List<Student>>("students", students); //var list = redisClient.Get<List<Student>>("students"); //printStuList(list); ////String类型 --存储简单的字符串 //UserName = redisClient.Get<string>("UserInfo_123"); //if (string.IsNullOrEmpty(UserName)) //初始化缓存 //{ // //TODO 从数据库中获取数据,并写入缓存 // UserName = "张三"; // redisClient.Set<string>("UserInfo_123", UserName, DateTime.Now.AddSeconds(10)); // Console.WriteLine("数据库数据:" + "张三"); // //return; //} //Console.WriteLine("Redis缓存数据:" + UserName); } Console.ReadLine(); } public static void printStuInfo(Student s) { if (s != null) { Console.WriteLine($"ID={s.ID},Name={s.Name},Age={s.Age}"); } } public static void printStuList(List<Student> list) { if (list != null) { foreach (var s in list) printStuInfo(s); } } } }
原文:https://www.cnblogs.com/itjeff/p/14446439.html