专栏首页行者常至Hibernate 的一级缓存

Hibernate 的一级缓存

什么是一级缓存:

  • Hibernate创建每个Session对象时,都会给该Session分配一块独立的缓存区,用于存放该Session查询出来的对象,这个分配给Session的缓存区称之为一级缓存。也叫作Session级缓存。

为什么要使用一级缓存:

  • Session取数据时,会优先向缓存区取数据,如果存在数据则直接返回,不存在才会去数据库查询,从而降低了数据库访问次数,提升了代码运行效率。

如何使用一级缓存:

  • 一级缓存是默认开启的,在使用Hibernate的API进行查询时会自动使用。

一级缓存的规则:

  • 一级缓存 是Session独享的,每个Session不能访问其他Session的缓存区。
  • Session的save 、update 、delete 操作会触发缓存更新。

一级缓存的管理:

  • session.evict(obj); 将obj从一级缓存中移除。
  • session.clear(); 清除一级缓存中所有的obj。
  • session.close(); 关闭Session,释放缓存空间。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 在Hibernate中,使用二级缓存机制要注意什么?

    qubianzhong
  • 状态管理-Session

    qubianzhong
  • Hibernate的5个核心接口:Session、SessionFactory、Transaction、Query和Configuration

    qubianzhong
  • SQL 数据库满载,Redis 力挽狂澜

    为什么你的 ERP/MES/CRM/HR/OA 系统访问首页都很慢,明明你确定打开页面时没有大量的写入操作!

    Lenis
  • [ASP.NET MVC]如何定制Numeric属性/字段验证消息

    对于一个Numeric属性/字段,ASP.NET MVC会自动进行数据类型的验证(客户端验证),以确保输入的是一个有效的数字,但是呈现在页面上的错误消息总是一段...

    蒋金楠
  • mybatis框架一级和二级缓存

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    多凡
  • Confluence 6 缓存性能示例 原

    缓存大小最大的数量是 1000(意思是缓存可以包含有 1000 个对象)。在必要的时候你可以增加这个值的大小,当下面 2 个条件都满足的时候:

    HoneyMoose
  • 亿级流量电商详情页系统的大型高并发与高可用缓存架构实战

    对于高并发的场景来说,比如电商类,o2o,门户,等等互联网类的项目,缓存技术是Java项目中最常见的一种应用技术。然而,行业里很多朋友对缓存技术的了解与掌握,仅...

    李鹏
  • Android开发笔记(一百六十一)NFC近场通信

    NFC的全称是“Near Field Communication”,意思是近场通信、与邻近的区域通信。大众所熟知的NFC技术应...

    用户4464237
  • 一CDN多节点返回资源内容不一致的案例

    CDN是一种分布式加速系统。不管如何,只是作为加速,返回给客户的内容需要和源站保持一致,所有地区节点的用户访问统一资源得到的返回内容应该是一致。但我们在实际的使...

    cathyjj

扫码关注云+社区

领取腾讯云代金券