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配置可以不填。

系统启动后会根据配置文件自动注册缓存服务。

注册的服务是单例的,不需要担心生命周期问题,直接在构造函数中注入就行。

一些不支持注入的类可以使用FruionApp.GetService方法获取实例。

三、AOP缓存

本系统同样支持Aop缓存,只需要给服务贴上Injection特性即可。

然后在方法上加上Cache特性即可。

缓存特性支持的属性:

注意的是,Aop方法只能作用于接口上,方法内部调用不会走Aop,通过xxService.xxx执行的方法会走aop,而在xxService的xxx方法中调用了另一个有cache特性的方法则不会走aop。

posted @   HuTiger  阅读(1508)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示