论坛首页 Java企业应用论坛

aop cache再讨论

浏览 21823 次
该帖已经被评为良好帖
作者 正文
   发表时间:2009-08-13   最后修改:2009-08-13
的确,如此缓存粒度以Annotation驱动控制是一种比较友好的解决方案。
对于Cache有几点想法:
1.首先,权衡中,是不是一定要缓存此粒度元素的必要,aop性能上的考虑和程序的复杂度使催生了这种懒惰的想法。
2.Cache方案的关键是Cache Key,决定了Cache的命中率。常见的Key的生成规则className+MethodName+Argument,在实际并发环境中命中率很低,这主要是因为Argument的复杂性。但在Argument比较清晰的情形下,这种生成规则的命中率会有所改观,也说明了此key生成规则的局限性。
3.根据不同的情形,设置不同的Key方案,不一刀切key生成方案,生成规则外允许自定义key。
0 请登录后投票
   发表时间:2009-09-11  
由于service层某些方法参数取值区间不集中,没有规律,所以缓存命中率不太高,但是如果可以在dao层作缓存的话我想命中率会高些。

没太深入研究aop,不过记得aop不能解决方法嵌套后的捕获,所以aop cache应该只能为service层对象调用的第一个方法做缓存吧?那dao层的方法级cache可以做吗?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics