spring
mybatis的一级、二级缓存用过吗?
✔ 本地缓存: 基于PerpetualCache,本质是一个HashMap ✔ 一级缓存(默认开启): 作用域是session级别 ✔ 二级缓存(默认关闭: 作用域是namespace和mapper的作用域,不依赖于session ❒ 一级缓存: ✔ 基于 PerpetualCache的HashMap 本地缓存,其存储作用域为 Session,当Session进行flush或close之后,该Session中的所有Cache就将清空,默认打开一级缓存 ❒ 二级缓存 ✔ 对于缓存数据更新机制,当某一个作用域(-一级缓存 Session/二级缓存Namespaces)的进行了新增、修改、删除操作后,默认该作用域下所有 select 中的缓存将被 clear ✔ 二级缓存需要缓存的数据实现Serializable接口 ✔ 只有会话提交或者关闭以后,一级缓存中的数据才会转移到二级缓存中
❒ Mybatis的一级、二级缓存用过吗? ✔ 一级缓存: 基于 PerpetualCache 的 HashMap 本地缓存,其存储作用域为 Session,当Session进行flush或close之后,该Session中的所有Cache就将清空,默认打开一级缓存 ✔ 二级缓存: 基于namespace和mapper的作用域起作用的,不是依赖于SQLsession,默认也是采用PerpetualCache,HashMap 存储。需要单独开启,一个是核心配置,一个是mapper映射文件 ❒ Mybatis的二级缓存什么时候会清理缓存中的数据? ✔ 当某一个作用域(一级缓存 Session/二级缓存Namespaces)的进行了新增、修改、删除操作后,默认该作用域下所有 select 中的缓存将被 clear。