前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[BlogCore操作文档4] MemoryCache:内存缓存

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

作者头像
老张的哲学
发布2023-08-23 13:43:48
2690
发布2023-08-23 13:43:48
举报
文章被收录于专栏:NetCore 从壹开始

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-01-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 NetCore 从壹开始 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档