如何有效的管理Cache对象?

在项目中合理的利用cache可减少数据库的访问,极大的提高系统的性能,这里我主要使用oscache并对oscache做一些简单的封装,但实际中cache的使用可能分布在各个模块里,业务层经常可能经常会有CacheManger.putCache(key,数据库查询获得的结果)CacheManager.getCache(key),操作,过于凌乱,不利于统一管理,想用caches.xml做配置,不知道有什么好的实现方法?

>想用caches.xml做配置,不知道有什么好的实现方法
使用AOP即可。

可参考Jdon框架的Cache实现,或Spring的AOP实现。

banq可否给个例子,比如:
public class Test(){
public List getOrganizeList(String id){
String key="organ_list";
if(CacheManager.getCache().get(key)==null){
//读取组织列表
CacheManager.getCache().put(key,organList);
}
return CacheManager.getCache().get(key);
}
}
我现在可以在Caches.xml中配置
<cache key="organ_list" class="com.zrweng.example.Test" method="getOrganizeList" />
这样就可以实现如上代码的效果不?这样业务层应该怎么调用这个getOrganizeList啊?

banq可否给个例子,比如:


public class Test(){
public List getOrganizeList(String id){
String key="organ_list";
if(CacheManager.getCache().get(key)==null){
//读取组织列表
CacheManager.getCache().put(key,organList);
}
return CacheManager.getCache().get(key);
}
}

我现在可以在Caches.xml中配置


<cache key="organ_list" class="com.zrweng.example.Test" method="getOrganizeList" />

这样就可以实现如上代码的效果不?这样业务层应该怎么调用这个getOrganizeList啊?

看来用动态代理是可以做到:)