AutoLoadCache高效的缓存管理解决方案
现在使用的缓存技术很多,比如Redis、 Memcache 、 EhCache等,甚至还有使用ConcurrentHashMap 或 HashTable 来实现缓存。但在缓存的使用上,每个人都有自己的实现方式,大部分是直接与业务代码绑定,随着业务的变化,要更换缓存方案时,非常麻烦。接下来我们就使用AOP + Annotation 来解决这个问题,同时使用自动加载机制 来实现数据“常驻内存”。
设计思想及原理
在infoq 发表的文章《面对缓存,有哪些问题需要思考?》
使用方法
注解(Annotation)说明
分布式锁支持
表达式的应用
缓存删除
Magic模式
注意事项
与Spring Cache的区别
最佳实战
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
评论
BigCache基于 Go 的高效缓存
BigCache是用于在Go中写入千兆字节数据的高效缓存。快速,并发,逐行扫描内存缓存,以保持大量条目,而不影响性能。BigCache在堆上保留条目,但为它们省略了GC。要实现对字节数组的操作,因此在
BigCache基于 Go 的高效缓存
0
cache2k内存缓存解决方案
cache2k是个成熟的性能优越的内存缓存解决方案。Maven:<properties> <cache2k-version>1.0.2.Final</cache2k-v
cache2k内存缓存解决方案
0