本文最新的内容,请查看官方操作说明文档,可能有增减:
https://note.youdao.com/s/57OF2HZj
.netcore自带了内存缓存的接口,可以直接使用。
也可以使用框架中封装的接口和实现类,可以实现自定义扩展。
一、相关的服务注册
代码语言:javascript复制builder.Services.AddMemoryCacheSetup();
可以做一些自定义封装
代码语言:javascript复制public static class MemoryCacheSetup
{
public static void AddMemoryCacheSetup(this IServiceCollection services)
{
if (services == null) throw new ArgumentNullException(nameof(services));
services.AddScoped<ICaching, MemoryCaching>();
services.AddSingleton<IMemoryCache>(factory =>
{
var value = factory.GetRequiredService<IOptions<MemoryCacheOptions>>();
var cache = new MemoryCache(value);
return cache;
});
}
}
二、直接使用
1、在对应的类中,把接口注入即可
代码语言:javascript复制public class BlogCacheAOP : CacheAOPbase
{
//通过注入的方式,把缓存操作接口通过构造函数注入
private readonly ICaching _cache;
public BlogCacheAOP(ICaching cache)
{
_cache = cache;
}
}
2、用法
代码语言:javascript复制// 获取缓存值
var cacheValue = _cache.Get(cacheKey);
// 设置缓存
_cache.Set(cacheKey, response, 10);
三、可以直接使用官方的缓存接口
IMemoryCache,效果是一样的,只不过自定义的可以做扩展,举例来说
代码语言:javascript复制private readonly IMemoryCache _cache;
//还是通过构造函数的方法,获取
public DemoService(IMemoryCache cache)
{
_cache = cache;
}
2023
B
C
V
P
Blog.Core 是一个开箱即用的企业级权限管理应用框架,目前开源五年。
采用最新的前后端完全分离技术【 ASP.NET Core Api 6.0 Vue 2.x 】,并结合 IdentityServer4 ,可快速解决多客户端和多资源服务的统一认证与鉴权的问题,以及整合较为完善的数据权限控制。
配套Nacos注册服务中心,可高效实现多服务实例的扩展与负载,为微服务实现良好基础。支持市面主流数据库和支持多库操作,以及支持事务的控制处理,保证数据安全可信赖!