.net core 使用CSRedisCore缓存数据及操作
CSRedisCore的使用很简单,就需要实例化一个CSRedisClient(集群连接池)对象然后初始化一下RedisHelper就可以了,他的方法名与redis-cli基本保持一致。
首先需要本地安装redis: https://www.runoob.com/redis/redis-install.html
安装完redis,密码默认为空,这里我重新设置密码
1、启动redis:redis解压路径下运行
2、再打开一个新的命令窗口:启动客户端
config get requirepass 查看密码
控制台测试代码:
先按照NuGet程序包
static void Main(string[] args) { Service.RedisHelperService redisService = new Service.RedisHelperService(); // 初始化 CSRedis //var csredis = Service.RedisHelperService.Configuration["CsRedisConfig:DefaultConnectString"]; var csredis = "127.0.0.1:6379,password=123456,defaultDatabase=1,prefix="; RedisHelper.Initialization(new CSRedis.CSRedisClient(csredis)); Test(); Console.ReadKey(); } static void Test() { RedisHelper.Set("name", "李奎");//设置值。默认永不过期 //RedisHelper.SetAsync("name", "李奎");//异步操作 Console.WriteLine(RedisHelper.Get<String>("name")); RedisHelper.Set("time", DateTime.Now, 1); Console.WriteLine(RedisHelper.Get<DateTime>("time")); Thread.Sleep(1100); Console.WriteLine(RedisHelper.Get<DateTime>("time")); // 列表
//删除指定key的列表
RedisHelper.Del("list");
RedisHelper.RPush("list", "第一个元素"); RedisHelper.RPush("list", "第二个元素"); RedisHelper.RPush("list", "重复元素"); RedisHelper.RPush("list", "重复元素"); RedisHelper.RPush("list", "重复元素"); RedisHelper.LInsertBefore("list", "第二个元素", "我是新插入的第二个元素!"); Console.WriteLine($"list的长度为{RedisHelper.LLen("list")}"); //Console.WriteLine($"list的长度为{RedisHelper.LLenAsync("list")}");//异步 Console.WriteLine($"list的第二个元素为{RedisHelper.LIndex("list", 1)}"); var len = RedisHelper.LLen("list"); var listData = RedisHelper.LRange("list",0,len-1); //Console.WriteLine($"list的第二个元素为{RedisHelper.LIndexAsync("list",1)}");//异步 Console.WriteLine(" 列表成员begin"); foreach (var item in listData) { Console.WriteLine(item); } Console.WriteLine(" 列表成员end"); // 哈希 RedisHelper.HSet("person", "name", "233"); RedisHelper.HSet("person", "name", "233"); RedisHelper.HSet("person", "name", "233"); RedisHelper.HSet("person", "sex", "男"); RedisHelper.HSet("person", "age", "28"); RedisHelper.HSet("person", "adress", "hefei"); Console.WriteLine($"person这个哈希中的age为{RedisHelper.HGet<int>("person", "age")}"); //Console.WriteLine($"person这个哈希中的age为{RedisHelper.HGetAsync<int>("person", "age")}");//异步 //获取哈希所有的数量和成员 var hashLen = RedisHelper.HLen("person"); var hashdata = RedisHelper.HGetAll("person"); Console.WriteLine("哈希成员begin"); foreach (var item in hashdata) { Console.WriteLine(item.Key+"----"+item.Value); } Console.WriteLine("哈希成员end"); // 集合 RedisHelper.SAdd("students", "zhangsan", "lisi"); RedisHelper.SAdd("students", "likui", "古天乐"); RedisHelper.SAdd("students", "likui", "古天乐"); RedisHelper.SAdd("students", "likui", "古天乐"); RedisHelper.SAdd("students", "wangwu"); RedisHelper.SAdd("students", "zhaoliu"); Console.WriteLine($"students这个集合的大小为{RedisHelper.SCard("students")}"); Console.WriteLine($"students这个集合是否包含wagnwu:{RedisHelper.SIsMember("students", "wangwu")}"); //获取集合所有的数量和成员 var secData = RedisHelper.SMembers("students"); Console.WriteLine("集合成员begin"); foreach (var item in secData) { Console.WriteLine(item); } Console.WriteLine("集合成员end"); }
执行结果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术