请问hibernate的查询缓存是什么?

来源:百度知道 编辑:UC知道 时间:2024/05/25 01:58:24

查询缓存,就是在内存建立空间用来保存上次查询结果,下次再进行同样的查询时,就不用再从数据库查找结果,大大的提高速度。

不过内存和数据库的数据没有完全同步,所以不适用于多个程序共同访问同一数据表的的情况;这样的话,数据表的数据已经被其他程序修改,有可能内存里存在的数据是旧数据,这就是所谓的脏数据。

而且Hibernate和数据库的查询缓存,在对一个数据表记录进行修改时,会把有关这个表的全部查询缓存清空,以保证减少脏读问题。

所以查询缓存只适用于非多服务器同时访问的数据库,而且读取大大多于修改操作的数据表上