ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2022-04-27 13:32:29  阅读:178  来源: 互联网

标签:Core 缓存 Asp IMemoryCache time Net


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文件下载

标签:Core,缓存,Asp,IMemoryCache,time,Net
来源: https://www.cnblogs.com/tianma3798/p/16198531.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有