默认情况下,只启用了本地的会话缓存,它仅仅对一个会话中的数据进行缓存。 要启用全局的二级缓存,只需要在你的 SQL 映射文件中添加一行:
<cache/>
基本上就是这样。这个简单语句的效果如下:
1、映射语句文件中的所有 select 语句的结果将会被缓存。
list不能被缓存,要用useCache=“false”
2、映射语句文件中的所有 insert、update 和 delete 语句会刷新缓存。
insert不能被缓存,要用flushCache=“false”
3、缓存会使用最近最少使用算法(LRU, Least Recently Used)算法来清除不需要的缓存。
4、缓存不会定时进行刷新(也就是说,没有刷新间隔)。
5、缓存会保存列表或对象(无论查询方法返回哪种)的 1024 个引用。
6、缓存会被视为读/写缓存,这意味着获取到的对象并不是共享的,可以安全地被调用者修改,而不干扰其他调用者或线程所做的潜在修改。
这些属性可以通过 cache 元素的属性来修改。比如:
<cache