Mybatis的二级缓存配置
一个项目中肯定会存在很多共用的查询数据,对于这一部分的数据,没必要 每一个用户访问时都去查询数据库,因此配置二级缓存将是非常必要的。 Mybatis的二级缓存配置相当容易,要开启二级缓存,只需要在你的Mapper 映射文件中添加一行: <cache /> 它将采用默认的行为进行缓存: 映射文件中所有的select语句将被缓存 映射文件中所有的insert、update和delete语句将刷新缓存 缓存将使用LRU(Least Recently Used)最近最少使用策略算法来回收 刷新间隔(no Flush Interval,没有刷新间隔),缓存不会以任何时间顺序来刷新 缓存会存储列表集合和对象(无论查询方法返回什么)的1024个引用 缓存会被视为read/write(可读/可写)的缓存,意味着对象检索不是共享的,而且可以安全的被调用者修改,而不干扰其他调用者或者线程所做的潜在修改 所有这些属性都可以通过缓存元素的属性来修改,比如: <cache eviction="FIFO" flushInterval="10800000" size="512" readOnly="true" /> 这个更高级的配置创建了一个FIFO缓存,并每隔3个小时刷新缓存,储存结 果对象或列表的512个引用,而且返回的对象被认为是只读的,因此在不同线程中的调用者之间修改他们会导致冲突。 可用的收回策略有