mybatis定时清理缓存
时间: 2023-05-17 07:06:10 浏览: 165
MyBatis提供了两种方式来清理缓存:基于时间的清理和基于引用的清理。基于时间的清理是指在一定时间间隔内清理缓存,可以通过设置MyBatis配置文件中的<setting name="localCacheScope" value="STATEMENT"/>来实现。基于引用的清理是指在缓存中的对象被垃圾回收时清理缓存,可以通过设置MyBatis配置文件中的<setting name="localCacheScope" value="STATEMENT"/>来实现。同时,MyBatis也提供了手动清理缓存的方法,可以通过调用SqlSession的clearCache()方法来实现。
相关问题
mybatis 清理缓存flush
Mybatis 中提供了两种方式来清理缓存:
1. sqlSession.clearCache():该方法可以清空一级缓存和二级缓存。一般情况下,我们不建议使用该方法清空二级缓存,因为这样会导致二级缓存无法发挥作用,从而影响性能。
2. sqlSession.commit():该方法会在提交事务时自动清空一级缓存,并将数据同步到二级缓存中。如果你不想提交事务,也可以使用 sqlSession.flushStatements() 方法来清空一级缓存并将数据同步到二级缓存中。
需要注意的是,Mybatis 的缓存机制是基于对象引用的,因此如果你修改了一个对象的属性值,那么该对象对应的缓存也会被修改。如果你希望禁用缓存,可以在 Mapper.xml 文件中添加 `useCache="false"` 属性来关闭缓存。
mybatis如何定时刷新缓存
Mybatis可以通过设置缓存刷新间隔时间来定时刷新缓存,具体可以在mybatis-config.xml中配置<setting name="localCacheScope" value="SESSION"/>,然后在mapper.xml中使用<cache/>标签开启缓存,设置flushInterval属性来设置缓存刷新间隔时间。例如:<cache eviction="FIFO" flushInterval="60000" size="512" readOnly="true"/>。这样就可以定时刷新缓存了。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)