码迷,mamicode.com
首页 > 其他好文 > 详细

MyBatis查询缓存

时间:2017-10-17 21:43:22      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:操作   orm   产生   map   try   insert   需要   ber   entry   

查询缓存:缓存的底层实现是一个Map,Map的value是查询结果,Map的key即查询依据,使用的ORM框架不同,查询依据是不同的
                 MyBatis的查询依据是:sql的id+sql语句
                 Hibernate的查询依据是:查询结果对象的id
                增删改操作都会清空一级缓存,无论是否提交。
                增删改同样会清空二级缓存《可以在insert语句中设置使增删改不对其产生影响》
(对于二级缓存的清空,实质上是对所查找的key对应的value置为null,而并非将<key,value>对,即Entry对象删除)


        所以从DB中进行select 查询的条件,即缓存中不存在需要的数据
       1)缓存中根本就不存在这个key
       2)缓存中存在该key所对应的Entry对象,但其value为null

MyBatis查询缓存

标签:操作   orm   产生   map   try   insert   需要   ber   entry   

原文地址:http://www.cnblogs.com/zhengzhen0512/p/7683886.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!