【Mybatis 框架(自学)】Day09(已完结)--2022/3/19

缓存

缓存的作用是解决服务器与用户之间的交互问题,特别是数据量大的时候,需要同时查询或写入的操作增多,给服务器和数据库造成很大的压力,可能出现高并发的问题此时便需要用到缓存对查询且不怎么经常变动的信息进行缓存处理,降低数据库与服务器的并发问题


一级缓存

其作用域为Sqlsession创建到sqlsession.close()事务关闭,最基础的一级缓存,其默认自动开启

二级缓存

<!--
	<cache/>标签,在映射器Mapper中插入即可,有有参和无参cache,默认用无参
-->
<mapper namespace="com.mybatis.Mapper.BlogMapper">

    		<cache/>
    		
    		<cache
          	 eviction="FIFO"
           	 flushInterval="60000"
           	 size="512"
           	 readOnly="true"/>
<mapper/>

需要注意的是:

readOnly(只读)属性:可为 true 或 false。只读的缓存会给所有调用者返回缓存对象的相同实例。 因此这些对象不能被修改。这就提供了可观的性能提升。而可读写的缓存会(通过序列化)返回缓存对象的拷贝。 速度上会慢一些,但是更安全,因此默认值是 false。

所以无参情况下需要在实体类中序列化:

public class Blog implements Serializable {
    
}
posted @   VVS,冷漠的心  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?

囚鸟该如何超越今生?

点击右上角即可分享
微信分享提示