松东路 2022-04-06 14:49 采纳率: 0%
浏览 209

如何理解Mybatis二级缓存配置中的readOnly?

在Mybatis的二级缓存中可以设置各种属性,这些属性可以通过 cache 元素的属性来修改。比如:

<cache
  eviction="FIFO"
  flushInterval="60000"
  size="512"
  readOnly="true"/>

readOnly属性,到底有什么作用?

  • 写回答

1条回答 默认 最新

  • 学无止境java 2022-04-06 16:11
    关注

    当你设置readOnly=true的时候,cache里面存放对象引用,用户A从cache里面取出对象之后,如果A对对象进行了修改,其他用户B再从cache取出对象,则会发现对象已经被修改。设置ReadOny=True的目的是:告诉用户不要从缓存中取出之后,对对象进行修改。

    cache里面存放对象的序列化,用户A从cache里面取出对象之后,如果A对对象进行了修改,其他用户B再从cache取出对象,对象是不会变的。设置ReadOny=False的目的是:告诉用户从缓存中取出之后,可以对对象进行修改,而不影响cache里面的对象。
    望采纳,谢谢

    评论

报告相同问题?

问题事件

  • 创建了问题 4月6日

悬赏问题

  • ¥15 STM32多路复用器ADC采样
  • ¥20 Linux(ubuntu)操作相关问题
  • ¥15 python深度学习代码求跑
  • ¥100 对接美团闪购医药接口相关问题
  • ¥15 嵌入式软件电子烟开发
  • ¥15 职场 Excel 查重问题
  • ¥15 求怎么用idea2021.3.2创建web项目并配置tomcat
  • ¥100 or-tools的相关问题
  • ¥15 有可能用平板通过拓展坞来烧录程序吗(keil5的那种)
  • ¥15 状态图的并发态问题咨询