Asp.net Core CacheHelper 通用缓存帮助类-编程思维

Asp.Net Core 缓存使用_Asp.Net core 服务器缓存(服务器缓存)

同系列文章推荐:Asp.Net Core 缓存使用_Asp.Net core 浏览器缓存(客户端缓存)

 

一、 IMemoryCache 简介使用步骤

Asp.Net Core项目中内置了服务器内存缓存 IMemoryCache。

 ASP.NET Core 支持多个不同的缓存。 最简单的缓存基于 IMemoryCache。 IMemoryCache 表示存储在 Web 服务器内存中的缓存。

1. 开启服务器缓存服务

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddControllersWithViews();

//添加内存缓存
builder.Services.AddMemoryCache();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();

 

2.使用服务器缓存

//内存缓存使用
IMemoryCache _cache ;
public TestTwoController(IMemoryCache cache)
{
    _cache = cache;
}
public IActionResult Index()
{
    var time = _cache.Get("time");//从缓存中获取,没有返回null
    if (time == null)
    {
        time = DateTime.Now.ToString();

        _cache.Set("time", time);//向缓存中添加数据,不设置时间,长期有效
    }
    return Content("服务器时间:" + time);

    //return View();
}

可配置滑动过期时间,配置绝对过期时间,参考如下:https://docs.microsoft.com/zh-cn/aspnet/core/performance/caching/memory?view=aspnetcore-6.0

 

二、CacheHelper 封装 IMemoryCache   方便使用

 

具体参考如下:

Asp.net Core CacheHelper 通用缓存帮助类

 

三、使用IMemoryCache 缓存部分试图,使用案例

 

在主视图中写代码: 缓存部分试图,5分钟

<h1>
    服务器时间:@(DateTime.Now)
</h1>
<p>
    @{
        //部分视图转换成字符串,并缓存
        string data = CacheHelper.CacheValue("time") as string;
        if (data == null)
        {
            StringWriter writer = new StringWriter();
            Html.Partial("PartTwo").WriteTo(writer, HtmlEncoder);
            data = writer.ToString();
            //缓存5分钟
            CacheHelper.CacheInsertFromMinutes("time", data, 5);
        }
        this.Write(data);
        this.WriteLiteral(data);
    }
</p>

 

 

更多:

Asp.Net Core 缓存使用_Asp.Net core 浏览器缓存(客户端缓存)

Asp.Net Core 6获取IHttpContextAccessor方法

Asp.Net Core Mvc下载处理__Asp.Net Core Mvc文件下载

版权声明:本文版权归作者所有,遵循 CC 4.0 BY-SA 许可协议, 转载请注明原文链接
https://www.cnblogs.com/tianma3798/p/16198531.html

.NET宝藏API之:IHostedService,后台任务执行-编程思维

我们在项目开发的过程中可能会遇到类似后台定时任务的需求,比如消息队列的消费者。 按照.NetF时的开发习惯首先想到的肯定是Windows Service,拜托,都什么年代了还用Windows服务(小声bb) 不用 Windows服务这不是还有Quartz之流的包嘛,也不是不行,但是随便一点小需求就上这么重的包,是不是有

OrchardCore Headless建站拾遗-编程思维

书接上回,OrchardCore的基本设置写了,但是有一说一,这个东西还是挺复杂的,如果需要构建一个简单的企业网站,还需要干点别的活。 本文考虑在尽量少编程的基础上,完成一个Headless网站的设置工作。本文启用了大量的Features,如果在设置过程中发现缺少对应的feature,请在配置界面中启用。 设置基本

Asp.Net Core中下载图片打包zip-编程思维

1、前言     好久没有更新博客了,最近没什么假期,但是却比以前还忙!工作、工作、工作,就像赶集似的,聚在一起。这个上海啥时候才能解封困在这里暗无天日的。早点解封出去看看想见的人的人,做做该做的事。工作中有那么一个需求客户想要通过自己选择列表的checkbox然后下载所选列表里面的图片,图片我们是存在图片服务器的,下