锁定老帖子 主题:aop cache再讨论
该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间: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。 |
|
返回顶楼 | |
发表时间:2009-09-11
由于service层某些方法参数取值区间不集中,没有规律,所以缓存命中率不太高,但是如果可以在dao层作缓存的话我想命中率会高些。
没太深入研究aop,不过记得aop不能解决方法嵌套后的捕获,所以aop cache应该只能为service层对象调用的第一个方法做缓存吧?那dao层的方法级cache可以做吗? |
|
返回顶楼 | |