jfinal的CacheInterceptor可以用在service层吗?

CacheInterceptor在controller层中如果缓存存在则直接返回,如果用在service层中,比如返回String类型,能直接return给我缓存中的数据吗?

评论区

糊搞

2019-03-21 15:30

不能,不过你可以使用CacheKit.get()比如:
Page page = CacheKit.get("news", "newsPage_" + paraMap.toString(), new IDataLoader() {
@Override
public Object load() {
return News.DAO.find(......)
}
});

hb963724769

2019-03-21 16:15

@糊搞 你这个不是每次都重新查询。我自己写方法判断存在,直接返回,不存在则从数据库中查询

JFinal

2019-03-21 16:47

@hb963724769 CacheInterceptor 做得比较早,是为控制层而做的,但你可以参考它写一个可以用于 service 层的拦截器,实现方式都是似的

糊搞

2019-03-23 20:08

@JFinal 是时候增强你的Cache插件了。。。

热门反馈

扫码入社