gpt4 book ai didi

java - Hibernate缓存更新机制

转载 作者:行者123 更新时间:2023-11-30 11:18:19 25 4
gpt4 key购买 nike

我想了解 hibernate 缓存:-

  1. 当我们更新缓存中的对象时,它会自动在数据库中更新。如果没有,它将如何更新?

  2. 如果数据库更新了,它会立即在缓存中更新,如果没有,它又如何更新?

最佳答案

Hibernate 有一个一级缓存和一个可选的二级缓存。第一级缓存是强制性的,它存储要与数据库同步的附加实体。

因此在刷新时,一级缓存和当前数据库事务是同步的,而在提交时更改也会传播到其他连接。

二级缓存有多种形式:

  1. 只读(从不更新)
  2. nonstrict-read-write(没有缓存锁,所以当两个竞争的事务都在修改同一个条目时,不清楚谁赢)
  3. 读写:类似于 READ_COMMITED 数据库隔离级别。
  4. 事务性:缓存将在当前 JTA 事务中登记

一些实现也是集群化的并且有额外的同步选项。

同步模式越安全,您获得的性能就越差,因此请确保为您的应用程序用例选择正确的同步模式。

关于java - Hibernate缓存更新机制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23881319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com