Ibatis的xml映射文件中有一个叫cacheModel的标签, 可以用它来定义一种缓存的模式, 但是必须要谨慎使用缓存,使用不当,可能会造成一些麻烦, 例如在最近做的项目中, 在ibatis的xml映射文件里, 每个sql查询语句我都基本使用了一个cacheModel, 比如,一个新建的用户可以访问两个引擎(a和b), 此时用这个新建的用户登陆系统, 系统能正常显示该用户有权限访问的引擎;当我用另一个更高级别的用户登陆系统来修改之前刚刚新建的用户可以访问的引擎后(例如改为可以访问a、b和c),再次用此新建的用户登陆系统, 系统此时显示该用户可以访问的引擎跟原来的一样, 没有改变, 这是cacheModel造成的, 系统查询了一次, 使用缓存把第一次查询的结果保存起来, 下次再次查询时先从缓存中查找, 如果存在则直接从缓存中获得,否则才从库中查询出来。
谨慎使用ibatis中的缓存 |
最新推荐文章于 2019-07-04 09:31:00 发布