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


Apache
跨平台
Java

软件简介

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

设计思想及原理

在infoq 发表的文章《面对缓存,有哪些问题需要思考?》

《再谈缓存的穿透、数据一致性和最终一致性问题》

使用方法

注解(Annotation)说明

分布式锁支持

表达式的应用

缓存删除

Magic模式

注意事项

[与Spring

Cache的区别](https://github.com/qiujiayu/AutoLoadCache/blob/master/doc/SpringCache.md)

最佳实战

[autoload-cache-spring-boot-starter](https://github.com/qiujiayu/autoload-

cache-spring-boot-starter)
推荐使用这个,test目录中也有可运行例子。

源码阅读

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

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

更新日志

QQ群:429274886