AutoLoadCache 是一个高效的缓存管理解决方案,而且实现了自动加载(或叫预加载)和“拿来主义”机制,能非常巧妙地解决系统的性能及并发问题。源码:github
-
4.8 优化JavaScriptParser 中的代码,并根据JDK版本,使用javascript 还是nashorn 引擎。
-
4.7 修改说明:
- 修改缓存预警时间值,加入-10~10秒随机数,避免缓存集中失效
- 实现表达式引擎的可扩展性,默认还是使用SpringEL表达式引擎(com.jarvis.cache.script.SpringELParser),但可以自己实际情况进行扩展。扩展方法:实现com.jarvis.cache.script.IScriptParser,然后通过配置把实现的实例注入到AbstractCacheManager中的scriptParser属性即可。使用不同表达式引擎时,注意表达式的语言的区别。
- 增加了JavaScript 表达式引擎实现:com.jarvis.cache.script.JavaScriptParser。如果项目使用JDK1.8的,想用JavaScript的话,建议使用Nashorn 来实现,性能会比较好。
-
4.6 修改说明:
- @Cache中增加 expireExpression,实现通过表达式来动态获取expire 值;
- @Cache 中增加 alarmTime。当缓存在alarmTime 时间内即将过期的话,会自动刷新缓存内容;
- 解决 hessian2 无法序列化SoftReference 的bug;
-
4.5 修改说明:
- 调整CacheTask 中 Thread.sleep(0); 的位置;
- 增加CacheChangeListener 接口,优化代码结构;
- 使用SoftReference 管理Map中的缓存数据;