AutoLoadCache 高效的缓存管理解决方案

Apache
Java
跨平台
2015-12-02
qiujiayu

现在使用的缓存技术很多,比如Redis、 Memcache 、 EhCache等,甚至还有使用ConcurrentHashMap 或 HashTable 来实现缓存。但在缓存的使用上,每个人都有自己的实现方式,大部分是直接与业务代码绑定,随着业务的变化,要更换缓存方案时,非常麻烦。接下来我们就使用AOP + Annotation 来解决这个问题,同时使用自动加载机制 来实现数据“常驻内存”。

 

设计思想及原理

使用方法

注解(Annotation)说明

分布式锁支持

表达式的应用

缓存删除

注意事项

缓存管理页面

与Spring Cache的区别

最佳实战

Spring boot demo

 

源码阅读

已经实现基于aspectj,代码在com.jarvis.cache.aop.aspectj.AspectjAopInterceptor。想通过阅读代码了解详细细节,可以以此为入口。

注意:有些类hashCode(), toString() equals()等方法是使用 lombok 自动生成的,所以使用Eclipse 和 IntelliJ IDEA 时,需要先安装lombok。

加载中

评论(10)

s
shi10jian
用着看看
brandon.ch
brandon.ch
支持多语言吗?
Ryan-瑞恩
Ryan-瑞恩
mark
小99
小99
看到前面的评论,感叹真是有人连文章内容都不看就敢评论!悲哀!
johnlee007
johnlee007
和spring cache相比有啥异同呢?感觉是重复造了轮子
qiujiayu
qiujiayu
能很好将缓存与业务逻辑进行解耦,异步刷新缓存及“拿来主义”机制非常适合高并发环境下使用。
抢小孩糖吃
抢小孩糖吃
好东西 #AutoLoadCache#
g
gzgyjinning
收藏学习 #AutoLoadCache#
南京mrg
南京mrg
spring 本来就支持吧。。。 #AutoLoadCache#
zzuqiang
zzuqiang
看起来不错 #AutoLoadCache#

AutoLoadCache 6.4发布,增加获取CacheOpType的方法

AutoLoadCache增加CacheOpType.LOAD操作类型,只是从数据源加载数据,不从缓存中获取数据,也不写入缓存。 原来只能通过@Cache中的opType来获取CacheOpType,现在增加了通过CacheHelper获取,...

2017/07/19 22:38

AutoLoadCache 6.2 增加 autoload-cache-spring-boot-starter

AutoLoadCache 6.2 版本已发布,更新如下: 6.2版本更新日志 CacheHandler 不再继承ICacheManager接口,方便实现spring boot starter自动注入; autoload-cache-spring-boot-starter 1.0.0发...

2017/07/05 13:35

AutoLoadCache 6.0 增加二级缓存支持

AutoLoadCache 6.0 已经发布。AutoLoadCache 是基于AOP+Annotation等技术实现的高效的缓存管理解决方案,实现缓存与业务逻辑的解耦,并增加异步刷新及“拿来主义机制”,以适应高并发环境下的...

2017/06/02 17:51

AutoLoadCache 5.4 增加分布式锁及事务下删除缓存处理

AutoLoadCache 5.4 发布了。新版本主要增加了两个功能: 增加@CacheDeleteTransactional 注解,用于处理事务下,事务处理完后才删除缓存,避免因事务失败造成缓存中的数据不一致问题。 增加分...

2017/05/05 10:00

AutoLoadCache 5.3 发布,增加重试机制

AutoLoadCache 5.3 发布,优化数据加载功能: 之前版本,数据加载时(DataLoader类中loadData()方法),处于等待状态的线程,如果超时未获取数据时,直接去数据层再取一次。但是这里存在一个问...

2017/04/18 19:48

AutoLoadCache 5.2 发布

5.2 版本只是优化一些小细节上的东西: 更新fastjson,因为 fastjson 1.2.28之前的版本有安全漏洞,所以需要及时更新; 增加一些debug信息; 当缓存时行设置为小于0的值时,不进行缓存。 最后...

2017/04/13 12:59

AutoLoadCache 5.1 进一步提升兼容性

5.1 版本更新日志: 为了更好的兼容logback 和 log4j,改用slf4j 记日志 @CacheDeleteKey 的value 改成values,实际工作中能减少编写的代码量; 把 JedisCluster 的初始化从JedisClusterCac...

2017/03/28 14:15

AutoLoadCache 4.17,支持 JedisCluster

AutoLoadCache 4.17 发布了,增加对 JedisCluster 的支持。 4.17 修改说明 增加对JedisCluster的支持。 下载地址: https://github.com/qiujiayu/AutoLoadCache/releases...

2016/11/15 09:39

AutoLoadCache 4.14 发布,增加 OGNL 表达式引擎支持

AutoLoadCache 4.14 发布,增加 OGNL 表达式引擎支持。 4.14 修改说明 使用Lambok来缩减代码,Lambok能帮助我们减少写get,set,hashCode,toString等没有技术含量的工作,而且在修改增加或删除j...

2016/07/13 14:08

AutoLoadCache 4.12 发布,优化 FastJson 深度复制功能

AutoLoadCache 4.12 发布了,AutoLoadCache 是基于AOP+Annotation等技术实现的高效的缓存管理解决方案,实现缓存与业务逻辑的解耦,并增加异步刷新及“拿来主义机制”,以适应高并发环境下的...

2016/07/01 11:18

没有更多内容

加载失败,请刷新页面

2
回答
关于缓存list的查询与get存储id,merge删除缓存中的疑问

@qiujiayu 你好,想跟你请教个问题: 1 请问一下 如果是 update更新呢?我get的时候用id进行缓存,但是我update的时候可能不存在i...

2016/01/24 14:08

没有更多内容

加载失败,请刷新页面

没有更多内容

autoload-cache-2.1 发布

优化HessianSerializer,提升性能,并将HessianSerializer作为默认的序列化和反序列化工具。

2015/10/27 12:39
44
0
autoload-cache-1.0 发布

autoload-cache(自动加载缓存框架),经过最近一段时间的优化和重构,已经发布1.0版本。在代码结构上有比较大的调整,使得更加易用,也能满足更多的需求。

2015/03/11 14:53
90
1
autoload-cache-1.7 发布

1:使用@CacheDeleteKey 定义删除缓存Key的规则; 2:@Cache中增加opType属性,支持把执行结果直接更新到缓存中,不从缓存取数据。 3:使用Lua脚本批量删除Redis缓存。 详细的使用,可以参考...

2015/06/25 10:55
118
0
自动加载缓存框架

现在使用的缓存技术很多,比如Redis、 Memcache、EhCache等,甚至还有使用ConcurrentHashMap 或 HashTable 来实现缓存。但在缓存的使用上,每个人都有自己的实现方式,大部分是直接与业务代码...

2015/02/28 17:35
4.3K
16

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部