NetCore使用Aop和内存缓存对接口、方法进行数据缓存

通过Aop+内存缓存对接口、方法进行缓存

源码地址https://gitee.com/wangbenchi66/nuget

1. nuget包引入

必须引入包 至少在2024.11.7以上

<PackageReference Include="WBC66.Cache.Core" Version="2024.11.7" />

必须开启内存缓存 否则后续步骤无法正常进行

//开启内存缓存
builder.Services.AddMemoryCacheSetup();

2. 对方法使用内存缓存

//使用autofac(内部会自动进行程序集扫描注入,不需要手动注入)
builder.Host.AddAutofacHostSetup(builder.Services, options =>
{//开启内存缓存拦截器(带有IProxyService接口的类将会被拦截),带有CacheResultAttribute特性的方法将会被缓存options.AddMemoryCacheResultAop();
});

3. 对控制器接口使用内存缓存

builder.Services.AddControllers(options =>
{//添加自定义的缓存过滤器options.Filters.Add<CacheResultFilter>();
});

方法缓存使用示例

//同一个方法不同参数会进行多次缓存
//接口注入直接继承IProxyService接口(继承接口后就不需要再手动注入了),方法上使用CacheResultAttribute特性即可
public class CacheResultService : ICacheResultService
{//缓存5秒[CacheResult(5)]public Student GetStudentAsync(string name){return new Student { Name = name };}
}
public interface ICacheResultService : IProxyService
{Student GetStudentAsync(string name);
}

控制器缓存使用示例

[HttpGet]
[CacheResult(5)]//缓存5秒
public object Get()
{_cacheResultService.GetStudentAsync("这是参数");return "ok";
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/466762.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Dependency: androidx.webkit:webkit:1.11.0-alpha02. 问题

android studio 打包后出现这个问题 1.步骤更新topOn sdk 添加 //Admob api “com.anythink.sdk:adapter-admob:6.4.18” api “com.google.android.gms:play-services-ads:23.4.0” api "com.google.android.gms:play-services-ads:23.4.0"sdk 中会出现打包编译报错…

ubuntu 20.04 NVIDIA驱动、cuda、cuDNN安装

1. NVIDIA驱动 系统设置->软件和更新->附加驱动->选择NVIDIA驱动->应用更改。该界面会自动根据电脑上的GPU显示推荐的NVIDIA显卡驱动。 运行nvidia-smi: NVIDIA-SMI has failed because it couldnt communicate with the NVIDIA driver. Make sure that the lat…

SpringBoot监控

1、Spring Boot Actuator 监控 Spring Boot Actuator 可以帮助监控和管理 Spring Boot 应用&#xff0c;比如健康检查、审计、统计和 HTTP 追踪等。所有的这些特性可以通过 JMX 或者 HTTP endpoints 来获得。 1、Actuator 监控应用程序 启用 Actuator 的端点&#xff0c;只要…

动态规划 —— dp 问题-粉刷房子

1. 剑指offer —— 粉刷房子 题目链接&#xff1a; LCR 091. 粉刷房子 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/JEj789/description/ 2. 题目解析 根据上图可以得到costs横坐标&#xff08;行&#xff09;是房子的号数&#xff0c;红色的下标是0&…

RPA是什么,RPA有什么作用?

在数字化转型的时代背景下&#xff0c;企业面临着提高效率、降低成本和优化流程的巨大压力。RPA作为一种革新性的数字化技术&#xff0c;迅速成为企业实现这些目标的利器。那么&#xff0c;RPA究竟是什么&#xff1f;它又能为企业带来哪些实际作用呢&#xff1f;本文金智维将对…

RAG(检索增强生成)的实现流程;RAG怎么实现检索增强的

目录 RAG(检索增强生成)的实现流程 两次使用大模型:可以不同 一、数据准备阶段 二、应用阶段 RAG怎么实现检索增强的 实现方式 具体举例 RAG(检索增强生成)的实现流程 两次使用大模型:可以不同

【ddnsgo+ipv6】

ddnsgoipv6 DNS解析添加记录ddnsgo配置 DNS解析添加记录 ddnsgo配置

【手撕排序2】快速排序

&#x1f343; 如果觉得本系列文章内容还不错&#xff0c;欢迎订阅&#x1f6a9; &#x1f38a;个人主页:小编的个人主页 &#x1f380; &#x1f389;欢迎大家点赞&#x1f44d;收藏⭐文章 ✌️ &#x1f91e; &#x1f91f; &#x1f918; &#x1f919; &#x1f448; &…

Stable Diffusion的解读(一)

Stable Diffusion的解读&#xff08;一&#xff09; 文章目录 Stable Diffusion的解读&#xff08;一&#xff09;摘要Abstract一、机器学习部分1. Stable Diffusion的早期工作1.1 从编码器谈起1.2 第一条路线&#xff1a;VAE和DDPM1.3 第二条路线&#xff1a;VQVAE1.4 路线的交…

2024年该了解的常用渲染工具

随着图形技术和计算机科学的飞速发展&#xff0c;渲染工具在多个领域中的应用越来越广泛&#xff0c;包括影视特效、建筑设计、工业设计、游戏开发等。了解并掌握一些常用的渲染工具对于设计师和艺术家来说至关重要。 一、效果图建模及渲染软件 Autodesk 3ds Max 拥有强大的建…

解决 “Error: listen EACCES: permission denied 0.0.0.0:80“ 错误

前言 在开发过程中&#xff0c;我们经常会遇到各种各样的错误。其中一个常见的错误是 Error: listen EACCES: permission denied 0.0.0.0:80。这个错误通常发生在尝试启动一个开发服务器时&#xff0c;服务器试图绑定到80端口&#xff0c;但由于权限不足而失败。本文将详细介绍…

flink 内存配置(一):设置Flink进程内存

flink 内存配置&#xff08;一&#xff09;&#xff1a;设置Flink进程内存 flink 内存配置&#xff08;二&#xff09;&#xff1a;设置TaskManager内存 flink 内存配置&#xff08;三&#xff09;&#xff1a;设置JobManager内存 flink 内存配置&#xff08;四&#xff09;…

51c嵌入式~电路~合集14

我自己的原文哦~ https://blog.51cto.com/whaosoft/12443598 一、嵌入式开发中的滤波器设计 什么是滤波器&#xff1f; 各种传感器信号多多少少会携带一些噪声信号&#xff0c;那么通过滤波器就能够更好的降低和去除噪声&#xff0c;还原真实有用信号。 滤波器是一个电路&…

安卓图片的着色教程(tint的使用)

目录 基础夯实&#xff1a;一、Tint的定义与作用二、Tint的应用场景三、Tint的使用方法四、Tint的优势五、注意事项 使用教程&#xff1a;一、xml文件中使用tint效果展示完整代码 二、代码中使用tint效果展示完整代码 三、使图片的主题和背景反色效果展示完整代码 四、运行例程…

Vulnhub靶机——DC-4

#环境准备 dc-4靶机&#xff1a;网卡nat模式 192.168.200.144 kali攻击机&#xff1a;网卡nat模式 192.168.200.129 #渗透过程 #信息收集 老规矩&#xff0c;先用nmap看看有什么端口可以搞 还是一如既往的80和22 访问80端口是一个登录界面&#xff0c;一上来就让我进行爆…

以太网交换安全:MAC地址漂移

一、什么是MAC地址漂移&#xff1f; MAC地址漂移是指设备上一个VLAN内有两个端口学习到同一个MAC地址&#xff0c;后学习到的MAC地址表项覆盖原MAC地址表项的现象。 MAC地址漂移的定义与现象 基本定义&#xff1a;MAC地址漂移发生在一个VLAN内的两个不同端口学习到相同的MAC地…

.NET6中WPF项目添加System.Windows.Forms引用

.NET6中WPF项目添加System.Windows.Forms引用 .NET6的WPF自定义控件默认是不支持System.Windows.Forms引用的&#xff0c;需要添加这个引用方法如下&#xff1a; 1. 在项目浏览器中找到项目右击&#xff0c;选择编辑项目文件&#xff08;Edit Project File&#xff09;。 …

Docker安装XXL-JOB分布式调度任务

一、持久化 1、下载 xxl-job 源码,找到持久化脚本 2、创建 xxl-job 数据库,将上述文件中的脚本在本库执行即可 create database xxl_job charset utf8mb4 collate utf8mb4_general_ci; 二、安装 1、下载 xxl-job 镜像 docker pull xuxueli/xxl-job-admin:2.4.1 2、创建挂…

Kafka 源码 KRaft 模式本地运行

KRaft&#xff08;Kafka Raft Metadata mode&#xff09;&#xff0c;从版本 2.8.0 开始作为测试特性引入&#xff0c;并在后续版本中持续得到改进和增强。 KRaft 模式是指 Kafka 使用 Raft 协议来管理集群元数据的一种运行模式&#xff0c;这标志着 Kafka 向去除对 ZooKeeper …

杨辉三角,洗牌算法

杨辉三角 给定一个非负整数numRows&#xff0c;生成杨辉三角的前numRows行。 在杨辉三角中&#xff0c;每个数是它的左上方和右上方的数的和。 public List<List<Integer>> generate(int numRows){List<List<Integer>> ret new ArrayList<>();…