hibernate和mybatis缓存

相同:

1.都分为两级缓存,一级缓存和二级缓存,一级缓存都是session事务级别的,在一个事务中有效,事务执行完后缓存失效

2.一般用户不需要干涉一级缓存,默认一级缓存时开启的

3.二级缓存都可以自定义配置,手动设置开启或者关闭

4.mybatis可以针对mapper中某一个statement设置是否使用二级缓存

5.二级缓存都可以通过配置使用EHCache(可持久化到硬盘)

不同:

1.hibernate的二级缓存时应用进程级别的,整个应用进程查询相同的sql时会使用二级缓存中的数据;mybatis是相同namespace下的mapper文件中的sql缓存,可以让多个sqlSession共享,但不是应用程序级别

2.mybatis的相同namespace下的mapper中如果有增删改的操作,会自动清空二级缓存的内容

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容