一、说明

系统中有很多数据是不会经常修改的,但是读取的频率确很高,所以这时候就需要使用缓存将这些数据缓存起来。本系统采用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客户端。

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

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

默认系统启动会清除Redis中的数据库缓存,如果不想清除,只需在SimpleAdmin.Web.Core配置文件中取消即可。

三、AOP缓存

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

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

缓存特性支持的属性:

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