• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

aspect-cache: Aspect Cache是一个针对Spring Boot,基于AOP注解方式的轻量级缓存,目 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

aspect-cache

开源软件地址:

https://gitee.com/gosalelab/aspect-cache

开源软件介绍:

LicenseJDK 1.8

Aspect Cache是一个针对Spring Boot,基于AOP注解方式的轻量级缓存,目前支持EHCache,Redis缓存方式。数据类型支持POJO、Map和List数据类型,同时支持自定义缓存key解析,也支持自定义的缓存处理方式,或者扩展支持更多缓存方式。缓存key使用Spring表达式(SpEL)解析生成。

使用

1.引入包

<dependency>    <artifactId>aspect-cache</artifactId>    <groupId>com.gosalelab</groupId>    <version>1.0.0</version></dependency>

2. 在Spring Boot启动类上使用如下注解

@EnableAspectCache

3. 添加配置项,确认开启缓存和具体缓存方式

com.gosalelab.cache.enable=true

com.gosalelab.cache.provider=eh

com.gosalelab.cache.provider=redis

配置项说明

名称配置项数据类型可选值默认值必填说明
com.gosalelab.cacheenablebooleantrue | falsefalseY是否启用Aspect Cache
com.gosalelab.cacheproviderStringeh | redisehY默认使用EHCache,如果要使用redis,则改为redis即可
com.gosalelab.cacheexpire-timeint/3600秒(半小时)N全局缓存时间
com.gosalelab.cachekey-generatorString/defaultN默认缓存key生成类,可以通过扩展KeyGenerator接口,使用自定义类,具体扩展方法见“自定义缓存key生成类”描述
com.gosalelab.cache.ehcachedefault-cache-nameString/ehcache_cacheNEHCache缓存名称
com.gosalelab.cache.ehcachediskint/200N可使用磁盘持久化多大,单位为:MB
com.gosalelab.cache.ehcacheehcache-file-nameString/ehcache.xmlNEHCache外部配置文件名,使用此配置项需要将com.gosalelab.cache.ehcache.use-xml-file-config设置为true
com.gosalelab.cache.ehcachemax-entries-local-heapint/1000N堆资源池可存储条目数量
com.gosalelab.cache.ehcacheoff-heapint/20N非堆资源池存储大小,单位为:MB
com.gosalelab.cache.ehcacheuse-xml-file-configbooleantrue | falsefalseN是否使用xml配置文件
com.gosalelab.cache.redis-cachedatabaseint/0N缓存存在redis哪一个数据库
com.gosalelab.cache.redis-cachehostString/127.0.0.1Nredis服务器地址
com.gosalelab.cache.redis-cachemax-idleint/100N最大允许空闲对象数
com.gosalelab.cache.redis-cachemax-totalint/1000N最大活动对象数
com.gosalelab.cache.redis-cachemax-wait-millisint/1000N最大等待时间,单位:毫秒
com.gosalelab.cache.redis-cachemin-idleint/20N最小允许空闲对象数
com.gosalelab.cache.redis-cachepasswordString//Nredis服务器登录密码
com.gosalelab.cache.redis-cacheportint/6379Nredis服务器连接端口号
com.gosalelab.cache.redis-cachetimeoutint/2000N连接超时时间,单位:毫秒

自定义缓存key生成类

  1. 继承KeyGenerator接口,实现getKey方法,可参考默认实现方法。
  2. 在新的类上添加如下注解,注解名称命名规则为:自定义名称 + KeyGenerator,如:defaultKeyGenerator。
  3. 然后在配置文件中使用如下方式使用缓存key自定义类:com.gosalelab.cache.key-generator = xxx

自定义缓存提供类

  1. 继承CacheProvider接口,实现put、get、del方法
  2. 添加注解:@Component("xxxCacheProvider"),注解命名规则为:自定义名称 + CacheProvider
  3. 然后再配置文件中使用如下方式使用自定义缓存提供类:com.gosalelab.cache.provider = xxx

添加配置项

  1. properties文件夹下新增配置文件
  2. CacheProperties文件初始化新增配置类
  3. 在新初始化配置类中添加@NestedConfigurationProperty注解
  4. 重新编译项目文件
  5. 在application.properties中使用配置项,按照如下方式:com.gosalelab.cache.新增配置.具体配置项 = 新增配置值

注解使用

注解

  • 注解@CacheInject用于缓存写入和读取
  • 注解@CacheEvict用于删除缓存

注解@CacheInject配置项

  • key:缓存key
  • expire:缓存时间,单位:秒
  • pre:缓存key的前缀
  • desc:描述
  • opType:缓存操作方式,可选值有:CacheOpType.READ_WRITE:读和写缓存,CacheOpType.WRITE:只写缓存,CacheOpType.READ_ONLY:只读缓存

注解@CacheEvict

  • key:缓存key
  • pre:缓存key的前缀
  • desc:描述

具体参考自带Demo中的测试类:com.gosalelab.testcase.CacheTest

缓存表达式

默认使用SpEL表达式,具体的使用可以参考Demo中的测试项。

计划

  1. 增加加英文文档
  2. 添加缓存后台管理功能
  3. 进一步优化代码

源码地址

其他

  • 如果在使用中遇到问题,欢迎在Github留言 Gitee留言
  • 同时也欢迎您提交代码,一起完善项目

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap