三分钟学会Redis在.NET Core中做缓存中间件
程序员文章站
2022-06-20 17:45:48
大家好,今天给大家说明如何在.NET Core中使用Redis,我们在想要辩论程序的好与坏,都想需要一个可视化工具,我经常使用的是一位国内大牛开发的免费工具,其Github地址为: https://github.com/qishibo/AnotherRedisDesktopManager/relea ......
大家好,今天给大家说明如何在.net core中使用redis,我们在想要辩论程序的好与坏,都想需要一个可视化工具,我经常使用的是一位国内大牛开发的免费工具,其github地址为: https://github.com/qishibo/anotherredisdesktopmanager/releases ,它真的很给力,redis的安装在 https://github.com/microsoftarchive/redis/releases,我一般使用的easycaching用于做缓存抽象层,首先创建一个.net core api 项目,随后nuget安装 easycaching.core 以及 easycaching.redis 。
public void configureservices(iservicecollection services) { services.addeasycaching(options=> { options.useredis(configure => { configure.dbconfig.endpoints.add( new easycaching.core.configurations.serverendpoint("localhost",6379) ); configure.dbconfig.allowadmin = true; },"redisexample"); }); services.addcontrollers(); }
随后在startup中注册中间件,首先启动添加easycaching的服务,在向启动添加easycaching的某些选项,可以看到addeasycaching的过程是这样的。
// easycaching service collection extensions. public static class easycachingservicecollectionextensions { public static iservicecollection addeasycaching(this iservicecollection services, action<easycachingoptions> setupaction); }
useredis 方法的第二个参数,适用于repository的选择哪个redisclient实例,这是非常有利的;我们创建一个api,名为 rediscontroller ,其中依赖注入我们的服务。
[route("/redis")] [apicontroller] public class rediscontroller : controllerbase { private ieasycachingprovider cachingprovider; private ieasycachingproviderfactory easycachingproviderfactory; public rediscontroller(ieasycachingproviderfactory cachingproviderfactory) { this.easycachingproviderfactory = cachingproviderfactory; this.cachingprovider = cachingproviderfactory.getcachingprovider("redisexample"); } [httpget("demo")] public iactionresult setredisitem() { this.cachingprovider.set("zaranet use easycaching", "this is my value", timespan.fromdays(100)); return ok(); } }
点击启动,访问到 https://localhost:port/redis/demo 中,使用可视化工具查看,发现ok了。
不光如何,我们我们进行了赋值,现在应该还需要一个获取的操作。
[httpget("get")] public iactionresult getredisitem() { var item = this.cachingprovider.get<string>("zaranet use easycaching"); return ok(item); }
就这样,你就可以在.net core中使用redis去做你觉得有价值的事情,都是非常简单的事情。