三分钟学会Redis在.NET Core中做缓存中间件
大家好,今天给大家说明如何在.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去做你觉得有价值的事情,都是非常简单的事情。
转自https://www.cnblogs.com/ZaraNet/p/11837518.html
在注册中间件的时候,如果redis需要密码,可以这样配置
services.AddEasyCaching(options => { options.UseRedis(configure => { //configure.DBConfig.Endpoints.Add( // new EasyCaching.Core.Configurations.ServerEndPoint("129.211.129.92", 63709) //); configure.DBConfig.Configuration = "129.29,password=s"; configure.DBConfig.AllowAdmin = true; }, "RedisExample"); });