博客
关于我
Hibernate的一级缓存、二级缓存和查询缓存。
阅读量:413 次
发布时间:2019-03-06

本文共 488 字,大约阅读时间需要 1 分钟。

Hibernate的Session提供了一级缓存功能,默认情况下缓存一直有效。当应用程序处理持久化实体的保存或修改时,Session并不会立即将这些改变提交到数据库,而是将其缓存到当前Session中。只有在显式调用flush()方法或Session关闭时,才会将缓存的内容提交到数据库。这种一级缓存机制能够减少与数据库的交互,提升数据库访问性能。

SessionFactory级别的二级缓存是全局性的,所有Session都可以共享这个二级缓存。默认情况下,二级缓存是关闭的,需要手动开启并指定所使用的二级缓存实现类(可选使用第三方提供的实现)。一旦开启二级缓存并指定需要使用缓存的实体类,SessionFactory会缓存访问过的实体对象,除非缓存空间超出限制。这种缓存机制适用于需要频繁访问相同实体对象的情况。

需要注意的是,一级缓存和二级缓存都针对整个实体进行缓存,通常不会包含普通属性。如果需要对普通属性进行缓存,可以使用查询缓存。查询缓存则是将HQL或SQL语句及其查询结果作为键值对缓存,这样可以避免重复查询数据库,提升性能。查询缓存默认也是关闭的,需要手动开启。

转载地址:http://jzakz.baihongyu.com/

你可能感兴趣的文章
python+flask计算机毕业设计高校体育竞赛成绩管理系统的设计与实现(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校体育赛事系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校体育运动会比赛系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校危化品管理系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校团委事务管理系统(程序+开题+论文)
查看>>
Python切片(%s)
查看>>
python+flask计算机毕业设计高校学生选课系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校学生饮食推荐系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校教务管理系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校教学档案管理系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校教学督导平台(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校数字化迎新系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校校内景点平台(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校校园线上跳蚤市场的系统设计(程序+开题+论文)
查看>>
Python图形处理
查看>>
python+flask计算机毕业设计高校物品使用互益平台的设计与实现(程序+开题+论文)
查看>>
Python函数,匿名函数,高阶函数,内置函数——08
查看>>
python+flask计算机毕业设计高校疫情防控管理平台(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校网上迎新系统(程序+开题+论文)
查看>>
python+flask计算机毕业设计高校运动会(程序+开题+论文)
查看>>