ASP.NET Core中的Caching组件怎么用
发表于:2025-11-14 作者:千家信息网编辑
千家信息网最后更新 2025年11月14日,本文小编为大家详细介绍"ASP.NET Core中的Caching组件怎么用",内容详细,步骤清晰,细节处理妥当,希望这篇"ASP.NET Core中的Caching组件怎么用"文章能帮助大家解决疑惑
千家信息网最后更新 2025年11月14日ASP.NET Core中的Caching组件怎么用
本文小编为大家详细介绍"ASP.NET Core中的Caching组件怎么用",内容详细,步骤清晰,细节处理妥当,希望这篇"ASP.NET Core中的Caching组件怎么用"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
在.NET Core中提供了Caching的组件。目前Caching组件提供了三种存储方式:
Memory
Redis
SQLSever
1.Memeor Caching
新建一个ASP.NET Core Web应用程序项目,然后安装 Microsoft.Extensions.Caching.Memory。
修改ConfigureServices方法
services.AddMemoryCache();services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
在HomeController使用:
private IMemoryCache memoryCache; public HomeController( IMemoryCache _memoryCache) { memoryCache = _memoryCache; } public IActionResult Index() { string cacheKey = "key"; string result; if (!memoryCache.TryGetValue(cacheKey, out result)) { result = $"LineZero{DateTime.Now}"; memoryCache.Set(cacheKey, result); //设置相对过期时间 memoryCache.Set(cacheKey, result, new MemoryCacheEntryOptions() .SetSlidingExpiration(TimeSpan.FromSeconds(10))); //设置绝对过期时间 memoryCache.Set(cacheKey, result, new MemoryCacheEntryOptions() .SetAbsoluteExpiration(TimeSpan.FromSeconds(10))); //删除缓存 memoryCache.Remove(cacheKey); //设置缓存优先级(程序压力大时,会根据优先级自动回收) memoryCache.Set(cacheKey,result,new MemoryCacheEntryOptions() .SetPriority(CacheItemPriority.NeverRemove)); //过期时缓存回调 memoryCache.Set(cacheKey, result, new MemoryCacheEntryOptions() .SetAbsoluteExpiration(TimeSpan.FromSeconds(60)) .RegisterPostEvictionCallback((key, value, reason, substate) => { nlog.Warn($"键{key}值{value}改变,因为{reason}"); })); //Token过期时,缓存回调 var cts = new CancellationTokenSource(); memoryCache.Set(cacheKey, result, new MemoryCacheEntryOptions() .AddExpirationToken(new CancellationChangeToken(cts.Token)) .RegisterPostEvictionCallback((key, value, reason, substate) => { nlog.Warn($"键{key}值{value}改变,因为{reason}"); })); } ViewBag.Cache = result; return View(); }2.Distributed Cache Tag Helper
在ASP.NET Core MVC 中有一个 Distributed Cache Tag Helper,它是依赖于MemoryCache组件的。
可以直接在试图上增加 distributed-cache 标签
@{ ViewData["Title"] = "Home Page";} 缓存项10秒过期(expires-after绝对过期时间)
相对十秒(expires-sliding相对过期时间)
@DateTime.Now @ViewBag.Cache读到这里,这篇"ASP.NET Core中的Caching组件怎么用"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
组件
时间
缓存
文章
优先级
内容
程序
妥当
存项
应用程序
思路
新知
方式
方法
更多
标签
步骤
知识
知识点
篇文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
阿里巴巴网络技术讲师
暗黑重制版服务器怎么了
金泰网络技术
脑叶工司中央数据库
系统装完后没有数据库怎么办
河北数据库防护箱厂家现货
网络安全 武警
网络安全最有含金量的证书
银行软件开发面试基础知识
生命安全网络安全要牢记
驱控软件开发招聘
迅雷登录ftp服务器安全吗
连云港网络安全资质申请哪家好
大学网络技术数据交换
深圳市破茧网络技术怎么样
lol俄罗斯服务器端游
网络安全落实情况应该怎么写
义乌市莱康软件开发服务中心
一折买书软件开发
单位网络安全通报
网络安全合作 致辞
用友软件t310.6.1数据库
阿里云上租的服务器怎么访问
滨湖区项目软件开发信息推荐
我的世界服务器延迟怎么回事
我的世界服务器论坛
广东企业软件开发公司
微信小程序数据库安全吗
戴尔服务器怎么改变硬盘模式
一站式软件开发工程