SimpleAdmin手摸手教学之:系统缓存
一、说明
系统中有很多数据是不会经常修改的,但是读取的频率确很高,所以这时候就需要使用缓存将这些数据缓存起来。本系统支持MemeryCache和Redis
分布式缓存两种方式,将一些基本信息表缓存在内存
中,可以大大减少数据库压力,提高读取速度。关于Redis
的说明和安装请自行百度,win下都是一键安装的。推荐使用Another Redis Desktop Manager
可视化工具来查看缓存信息。
二、使用缓存
系统缓存已封装成缓存插件,类库名为SimpleAdmin.Plugin.Cache
Redis的.net客户端我使用的是自己封装的SimpleRedis
,支持注入多个redis客户端,非常好用,gitee地址:https://gitee.com/zxzyjs/SimpleRedis.git
项目启动之前需要配置缓存信息,找到SimpleAdmin.Plugin.Cache
缓存插件,修改配置文件,如果不用Redis的话,下面的redis配置可以不填。
系统启动后会根据配置文件自动注册缓存服务。
注册的服务是单例
的,不需要担心生命周期问题,直接在构造函数中注入就行。
一些不支持注入的类可以使用Fruion
的App.GetService
方法获取实例。
三、AOP缓存
本系统同样支持Aop
缓存,只需要给服务贴上Injection
特性即可。
然后在方法上加上Cache
特性即可。
缓存特性支持的属性:
注意的是,Aop方法只能作用于接口
上,方法内部调用不会走Aop,通过xxService.xxx执行的方法会走aop,而在xxService的xxx方法中调用了另一个有cache特性的方法则不会走aop。
本文来自博客园,作者:HuTiger,转载请注明原文链接:https://www.cnblogs.com/huguodong/p/17039345.html,欢迎加入qq群927460240学习讨论
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」