SSM框架学习-MyBatis篇 Cache缓存的使用
缓存:
MyBatis 包含一个非常强大的查询缓存特性,比如用户登录后获取用户名,在登录的时候,已经查询过一次了,那么在后续
的相关操作的时候就不许要再次查询一次。这个时候就需要在缓存里面获取。
在MyBatis里面,
- 一级缓存是session会话级别,创建一个session就会开启一个会话;
- 二级缓存是会话工厂级别就是sqlsessionfactory级别,要开启二级缓存
需要填加一个 <cache />
- 映射语句文件中的所有 select 语句将会被缓存。
- 映射语句文件中的所有 insert,update 和 delete 语句会刷新缓存。
- 缓存会使用 Least Recently Used(LRU,最近最少使用的)算法来收回。
- 根据时间表(比如 no Flush Interval,没有刷新间隔), 缓存不会以任何时间顺序 来刷新。
- 缓存会存储列表集合或对象(无论查询方法返回什么)的 1024 个引用。
- 缓存会被视为是 read/write(可读/可写)的缓存,意味着对象检索不是共享的,而 且可以安全地被调用者修改,而不干扰其他调用者或线程所做的潜在修改。
比