查看原文
其他

三分钟学会Redis在.NET Core中做缓存中间件

DotNet 2021-09-23

(给DotNet加星标,提升.Net技能


转自:ZaraNet
cnblogs.com/ZaraNet/p/11837518.html

如何在.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去做你觉得有价值的事情,都是非常简单的事情。 


推荐阅读

(点击标题可跳转阅读)

ASP.NET Core 3.x 并发限制

ML.NET 1.4 发布,跨平台机器学习框架

.NET的轻量级高性能ORM 让代码更优雅


看完本文有收获?请转发分享给更多人

关注「DotNet」加星标,提升.Net技能 

好文章,我在看❤️

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存