主题:缓存问题?

jAmEs_ 2018年09月06日 61

感觉beetlSql的缓存功能有点弱,文档也比较少,我自己今天按文档做了缓存,发现一个“问题”?

我定义一个DAO类型,继承了BaseMapper,然后自己定义了sql文件指向@SqlResource("usmc.bs.location"),然后我测试缓存(SimpleCacheInterceptor)效果,发现自己在sql文件定义的SQL语句与系统内置的更新update方法他们对应的缓存ns不一样(sql的方法是usmc.bs.location,BaseMapper自带的是location),导致更新时,不是想我期望那样,把对应的ns失效。

谁能看看?

闲大赋 2018年09月06日

这个暂时解决不了,只能等待2.11.x 版本来改正了,从使用角度来说,建议系统缓存以service为力度做缓存而不是数据。比如

@Cache(name="userCache")
public User getUserById(Long id){
   return mapper.uninique(id);
}

  • jAmEs_ :我个人到倾向于DAO层处理,原因是,DAO的颗粒度更小,业务层牵扯太多,缓存失效处理会麻烦很多。 不过我理解你的建议。(2018年09月07日)