返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >ASP.NET Core中的Caching组件简介
  • 521
分享到

ASP.NET Core中的Caching组件简介

2024-04-02 19:04:59 521人浏览 薄情痞子
摘要

在.net core中提供了Caching的组件。目前Caching组件提供了三种存储方式: MemoryRedissqlSever 1.Memeor Caching 新建一个ASP

.net core中提供了Caching的组件。目前Caching组件提供了三种存储方式:

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";
}
<distributed-cache name="mycache" expires-after="TimeSpan.FromSeconds(10)">
    <p>缓存项10秒过期(expires-after绝对过期时间)</p>
</distributed-cache>
<distributed-cache name="mycachenew" expires-sliding="TimeSpan.FromSeconds(10)">
    <p>相对十秒(expires-sliding相对过期时间)</p>
    @DateTime.Now
</distributed-cache>
<div>@ViewBag.Cache</div>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: ASP.NET Core中的Caching组件简介

本文链接: https://lsjlt.com/news/145841.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • ASP.NET Core中的Caching组件简介
    在.NET Core中提供了Caching的组件。目前Caching组件提供了三种存储方式: MemoryRedisSQLSever 1.Memeor Caching 新建一个ASP...
    99+
    2024-04-02
  • ASP.NET Core中的Caching组件怎么用
    本文小编为大家详细介绍“ASP.NET Core中的Caching组件怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“ASP.NET Core中的Caching组件怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路...
    99+
    2023-06-30
  • ASP.NET Core中的Blazor组件介绍
    目录关于组件组件类静态资产路由与路由参数组件参数请勿创建会写入其自己的组参数属性的组件子内容属性展开任意参数捕获对组件的引用在外部调用组件方法以更新状态使用 @ 键控制是否保留元素和...
    99+
    2024-04-02
  • ASP.NET Core的中间件与管道介绍
    今天来讨论一个ASP.NET Core 很重要概念管道和中间件,在ASP.NET Core中,针对HTTP请求采用pipeline也就是通常说的管道方式来处理,而管道容器内可以挂载很...
    99+
    2024-04-02
  • ASP.NET Core使用AutoMapper组件
    1.什么是AutoMapper? AutoMapper是一个对象-对象映射器。对象-对象映射通过将一种类型的输入对象转换为另一种类型的输出对象来工作。使AutoMapper变得有趣的...
    99+
    2024-04-02
  • ASP.NET Core实时库SignalR简介及使用
    目录何为实时什么是SignalR回落机制三种通信方式long polling(长轮询)server sent events(sse)web socket进入正题何为实时 先从理论上解...
    99+
    2024-04-02
  • ASP.NET Core MVC中使用Tag Helper组件
    Tag Helper 组件 - 简介 之前我们已经在几个文章中谈到了Tag Helpers,这一次我们会讨论其它有关的事情。 在 ASP.NET Core 2 还为我们带来了一个新功...
    99+
    2024-04-02
  • ASP.NET Core中的Razor页面介绍
    目录简介Why?创建Razor页面应用程序ASP.NET Core Razor页面 - 核心功能模型绑定HandlersTag Helpers and HTML Helpers路由总...
    99+
    2024-04-02
  • ASP.NET Core中的Ocelot网关介绍
    目录1.简介2.Ocelot配置2.1基础集成(Basic Implementation)2.2集成IdentityServer(With IdentityServer)2.3多个网...
    99+
    2024-04-02
  • ASP.NET Core中的wwwroot文件夹
    ASP.NET Core中wwwroot文件夹 默认情况下,ASP.NET Core应用程序中的wwwroot文件夹被视为webroot文件夹,并且该文件夹或目录应位于根项目文件夹中...
    99+
    2024-04-02
  • ASP.NET Core中的静态文件
    目录1.前言2.设置静态文件目录2.1 设置默认静态文件目录2.2 设置访问Web根目录外的文件3.设置HTTP响应标头4.静态文件授权5.启用目录浏览6.设置静态文件默认文档6.1...
    99+
    2024-04-02
  • ASP.NET Core MVC中如何使用Tag Helper组件
    这篇文章主要介绍ASP.NET Core MVC中如何使用Tag Helper组件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Tag Helper 组件 - 简介在 ASP.NET C...
    99+
    2023-06-29
  • ASP.NET中的Razor语法简介
    目录一、Razor 语法1、 Razor C# 语法规则2、Razor的作用域3、Razor和Html混合编写4、变量5、数据类型6、转换数据类型(string类型才能转)7、循环8...
    99+
    2024-04-02
  • ASP.NET Core MVC中Tag Helpers用法介绍
    简介 Tag Helpers 提供了在视图中更改和增强现有HTML元素的功能。将它们添加到视图中,会经过Razor模板引擎处理并创建一个HTML,之后再返回给浏览器。有一些Tag H...
    99+
    2024-04-02
  • ASP.NET Core中间件用法与官方常用中间件介绍
    目录一、什么是中间件中间件和过滤器的区别二、中间件常用方法1、Run方法2、Use方法3、Map方法4、Mapwhen方法三、自定义中间件四、官方常用中间件1、异常处理中间件2、HT...
    99+
    2024-04-02
  • ASP.NET Core的日志系统介绍
    .net core是内置了日志系统的,本文这里简单的介绍一下它的基本用法。如下是一个简单的示例:  var service = new ServiceCollection(...
    99+
    2024-04-02
  • 理解ASP.NET Core 中间件(Middleware)
    目录中间件中间件管道RunUseUseWhenMapMapWhenRun & Use & UseWhen & Map & Map编写中间件并激活基于约...
    99+
    2024-04-02
  • ASP.NET Core MVC中Form Tag Helpers用法介绍
    简介 我们已经介绍过Tag Helpers以及一些最常用的Tag Helpers,也谈到了缓存Tag Helpers。在这篇文章中,我们将讨论表单Tag Helpers。 HTML或...
    99+
    2024-04-02
  • ASP.NET Core中Razor页面与MVC区别介绍
    作为.NET Core 2.0发行版的一部分,还有一些ASP.NET的更新。其中之一是添加了一个新的Web框架来创建“页面”,而不需要复杂的ASP.NET M...
    99+
    2024-04-02
  • ASP.NET Core中间件如何使用
    今天小编给大家分享一下ASP.NET Core中间件如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.前言...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作