gpt4 book ai didi

java - Hibernate二级缓存和RR事务隔离

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

如果两个事务(都在 RR 隔离级别)请求相同的二级缓存项目,然后它们修改并存储该项目。现在,为了读取该项目,他们没有运行任何 SQL,因为它已被缓存;那么在这种情况下,他们真的会开始数据库事务吗?当他们提交更改时,他们会遇到丢失更新的问题吗?

最佳答案

从悲观的角度来看:

如果二级缓存被配置为参与事务,那么只有第一个获得写锁的缓存才能修改缓存对象,然后将更改写入数据库。当第二个事务想要获取写锁时,它必须等到第一个事务结束并释放它。

使用乐观锁定,我猜应该会发生并发修改异常(或类似名称),并且第二个事务将重试该操作。

关于java - Hibernate二级缓存和RR事务隔离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10030175/

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