Asp.Net Core 缓存使用_Asp.Net core 服务器缓存IMemoryCache(服务器缓存)
2022/4/27 14:12:42
本文主要是介绍Asp.Net Core 缓存使用_Asp.Net core 服务器缓存IMemoryCache(服务器缓存),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
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文件下载
这篇关于Asp.Net Core 缓存使用_Asp.Net core 服务器缓存IMemoryCache(服务器缓存)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-12-06使用Microsoft.Extensions.AI在.NET中生成嵌入向量
- 2024-11-18微软研究:RAG系统的四个层次提升理解与回答能力
- 2024-11-15C#中怎么从PEM格式的证书中提取公钥?-icode9专业技术文章分享
- 2024-11-14云架构设计——如何用diagrams.net绘制专业的AWS架构图?
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#