C#中使用Redis的示例

时间:2022-02-08 05:25:55

上一篇Redis的系列已经讲了Redis的下载、安置,接下来这一篇,主要讲使用Redis供给的 ServiceStack.Redis 这个开发库在C#项目中作为缓存处事使用的一个简单示例,空话不久不多话,直接上代码。

private void TestRedis() { var Redis = new RedisClient("localhost"); //创建Redis实例(主机名按照项目的实际情况设置,,可以使用配置文件的形式配置) var records = new List<TestInfo>(); /*****操纵泛型数据*******/ if (Redis.Exists("TestInfos") <= 0) //判断某个缓存是否存在 { //添加泛型调集数据 Redis.Set("TestInfos", new List<TestInfo>() { new TestInfo() { id = 1, name = "11" }, new TestInfo() { id = 2, name = "22" }, new TestInfo() { id = 3, name = "33" }, new TestInfo() { id = 4, name = "44" } }); Redis.Expire("TestInfos", 60); //设置为一分钟过期 } records = Redis.Get<List<TestInfo>>("TestInfos"); //获取Redis的缓存数据 //Redis.Remove("TestInfos"); //删除一个缓存 //records = Redis.Get<List<TestInfo>>("TestInfos"); //删除后测验考试从头获取,功效为null(Redis中获取不存在的引用类型时返回null) /*****操纵泛型数据*******/ /*****链表操纵*******/ var testRedisList = Redis.As<TestInfo>(); IRedisList<TestInfo> testData = testRedisList.Lists["testData"]; //指定一个链表 Redis.Expire("testData", 60); //设置为一分钟过期 testData.AddRange(records); //添加数据 testRedisList.Save(); //生存链表数据 var testDataList = Redis.As<TestInfo>().Lists["testData"].ToList(); //获取链表数据 /*****链表操纵*******/ /*****操纵int类型数据*******/ if (Redis.Exists("TestInt") <= 0) { Redis.Set("TestInt", 11); //生存一个int类型的缓步数据 } var recordStr = Redis.Get<int>("TestInt"); //获取数据 Redis.Remove("TestInt"); //删除一个缓存 var redisIntVal = Redis.Get<int>("TestInt"); //删除后测验考试从头获取,功效为0(Redis中获取不存在的值类型时返回默认值) /*****操纵int类型数据*******/ }