[BlogCore操作文档4] MemoryCache:内存缓存

2023-08-23 13:43:48 浏览数 (1)

本文最新的内容,请查看官方操作说明文档,可能有增减:

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注册服务中心,可高效实现多服务实例的扩展与负载,为微服务实现良好基础。支持市面主流数据库和支持多库操作,以及支持事务的控制处理,保证数据安全可信赖!

0 人点赞