一、说明
系统中有很多数据是不会经常修改的,但是读取的频率确很高,所以这时候就需要使用缓存将这些数据缓存起来。本系统采用Redis
分布式缓存,将一些基本信息表缓存在内存
中,可以大大减少数据库压力,提高读取速度。关于Redis
的说明和安装请自行百度,win下都是一键安装的。推荐使用Another Redis Desktop Manager
可视化工具来查看缓存信息。
二、使用缓存
.net客户端我使用的是自己封装的SimpleRedis
,支持注入多个redis客户端,非常好用,gitee地址:https://gitee.com/zxzyjs/SimpleRedis.git
项目启动之前需要修改redis连接字符串,在SimpleAdmin.Core
中的配置文件中,如果没有密码可以删掉password=xxx
配置。
默认redis服务是注册在SimpleAdmin.Core
的启动类中,这样所有其他项目只要引用了Core
层就会注册redis客户端。
注册的服务是单例
的,不需要担心生命周期问题,直接在构造函数中注入就行。
一些不支持注入的类可以使用Fruion
的App.GetService
方法获取实例。
默认系统启动会清除Redis中的数据库缓存,如果不想清除,只需在SimpleAdmin.Web.Core
配置文件中取消即可。
三、AOP缓存
本系统同样支持Aop
缓存,只需要给服务贴上Injection
特性即可。
然后在方法上加上Cache
特性即可。
缓存特性支持的属性:
注意的是,Aop方法只能作用于接口
上,方法内部调用不会走Aop,通过xxService.xxx执行的方法会走aop,而在xxService的xxx方法中调用了另一个有cache特性的方法则不会走aop。