Spring Boot

背景

最近在使用spring boot时,需要用到redis做缓存,尝试使用Spring cache,发现spring cache里面集成了太多不需要的东西了,但有些关键的东西spring cache却没有集成,比如:对单个缓存标签设置过期时间、根据前缀移除缓存等,还要下载一个Redis可视化客户端来查看缓存。麻烦,实在麻烦!

ace-cache

基于spring boot上的注解缓存,自带轻量级缓存管理页面。

@Cache和@CacheClear比spring cache更轻量的缓存,支持单个缓存设置过期时间,可以根据前缀移除缓存。

采用fastjson序列化与反序列化,以json串存于缓存之中。

ace-cache可以快速用于日常的spring boot应用之中。

使用手册

缓存配置

1、配置redis数据源,application.yml文件

#redis-cache 相关redis:pool:maxActive:300maxIdle:100maxWait:1000host:127.0.0.1port:6379password:timeout:2000# 服务或应用名sysname:aceenable:truedatabase:0

缓存开启

2、开启AOP扫描

@ComponentScan({"com.ace.cache"})@EnableAspectJAutoProxy

缓存使用

3、在Service上进行@Cache注解或@CacheClear注解

注解说明

配置缓存:@Cache

注解参数类型说明

key字符串缓存表达式,动态运算出key

expires整形缓存时长,单位:分钟

desc描述缓存说明

parserClass缓存返回结果自定义处理类

generatorClass缓存键值自定义生成类

清除缓存:@CacheClear

注解参数类型说明

pre字符串清除某些前缀key缓存

key字符串清除某个key缓存

keys字符串数组清除某些前缀key缓存

generatorClass缓存键值自定义生成类

默认key动态表达式说明

表达式举例说明举例

@Cache(key="user:{1}")

public User getUserByAccount(String account){1}表示获取第一个参数值

{2}表示获取第二个参数值

……依此类推若:account = ace,则:key = user:ace

@CacheClear(pre="user{1.account}")

User saveOrUpdate(User user){1}表示获取第一个参数值

{1.xx}表示获取第一个参数中的xxx属性若:account=ace,则:key = user:ace

轻量管理端

访问地址:http://localhost:8080/cache

管理端批量或前缀清除ace-cache注册的缓存,同时也可以快速预览缓存的数据内容,也可以对缓存的失效时间进行延长。

管理端

Demo

1、在src/main/test中展开的相关示例代码

CacheTest是核心启动类

service包是缓存调用例子,包含自定义表达式和结果解析、注解的使用

你可能感兴趣的:(Spring Boot)