当前位置: 首页 > 面试题库 >

带有ehcache的群集休眠缓存:非严格与严格读写

薛弘壮
2023-03-14
问题内容

nonstrict-read-write和之间的真正区别是read- write什么?我可以阅读ehcache和Hibernate文档,但据我所知,他们只说“如果进行更新,读写会更好”。我觉得不满意。

我可能对这样配置的长期缓存集合有问题:

<cache name="trx.domain.Parent.children" maxElementsInMemory="5000"
    eternal="false" overflowToDisk="false" timeToIdleSeconds="1200"
    timeToLiveSeconds="1800">
    <cacheEventListenerFactory
        class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
        properties="replicateAsynchronously=true, replicatePuts=true, replicateUpdates=true, replicateUpdatesViaCopy=false, replicateRemovals=true" />

<set name="children" lazy="false" inverse="true">
    <cache usage="nonstrict-read-write"/>
    <key column="callout_id" />
    <one-to-many class="Child" />
</set>

更新集合时,发生更新的节点以及其他节点上究竟发生了什么?nonstrict-read-writeread- write这里和有什么不一样?一个节点是否有可能会使用其缓存中的10分钟版本?

请注意冗长的超时和异步复制。


问题答案:

读写:如果两个事务试图修改数据,则这些事务将在“读取已提交”级别隔离(如果数据库设置为该级别,则可以重复读取)–通常就足够了,通常我们不需要“可序列化”隔离级别。

非严格读写:缓存根本没有锁定,因此,如果两个事务修改了数据,我们将永远不知道会得到什么,我们就无法保证缓存状态=数据库状态。

仅当不太可能由两个事务同时修改数据时,这才是安全的。我们还需要设置适当的缓存超时。



 类似资料:
  • 问题内容: 在我的Spring驱动的应用程序中,我使用Hibernate(4.2.15.Final)和EhCache(2.6.9)作为第二级缓存,在标准的持久层中进行了设置。 一切正常。但是,将条目放入第二级缓存有时会花费一些时间。 我已经在一个显式文件中配置了域模型类的缓存(我没有配置默认缓存): 在持久性上下文启动时,我收到以下INFO消息记录: 以及执行期间的以下警告 AFAIK 必须调整放

  • 问题内容: 我知道这个问题应该在scipy.optimize手册中处理,但是我不太了解。也许你可以帮忙 我有一个函数(这只是一个示例,不是真正的函数,但是我需要在这个级别上理解它): 编辑(更好的示例): 假设我有一个矩阵 具有目标功能 现在,我想假设t [i]是实数,并且类似 问题答案: 这个约束 将是等式()约束,其中您必须创建一个必须等​​于零的函数: 然后,您对约束进行了定义(字典列表(如

  • 除了正常的运行模式,JavaScript 还有第二种运行模式:严格模式(strict mode)。顾名思义,这种模式采用更加严格的 JavaScript 语法。 同样的代码,在正常模式和严格模式中,可能会有不一样的运行结果。一些在正常模式下可以运行的语句,在严格模式下将不能运行。 设计目的 早期的 JavaScript 语言有很多设计不合理的地方,但是为了兼容以前的代码,又不能改变老的语法,只能不

  • 概述 进入标志 如何调用 语法和行为改变 全局变量显式声明 静态绑定 增强的安全措施 禁止删除变量 显式报错 重名错误 禁止八进制表示法 arguments对象的限制 函数必须声明在顶层 保留字 参考链接 概述 除了正常运行模式,ECMAscript 5添加了第二种运行模式:“严格模式”(strict mode)。顾名思义,这种模式使得Javascript在更严格的条件下运行。 设立”严格模式“的

  • ECMAScript 5 最早引入了“严格模式”(strict mode)的概念。通过严格模式,可以在函数内部选择进行较为严格的全局或局部的错误条件检测。使用严格模式的好处是可以提早知道代码中存在的错误,及时捕获一些可能导致编程错误的ECMAScript 行为。 理解严格模式的规则非常重要,ECMAScript 的下一个版本将以严格模式为基础制定。支持严格模式的浏览器包括IE10+、Firefox

  • 在我的TYPO3项目中是一个带有PHP7错误的扩展。 PHP警告:声明…应该与…兼容.. 1: PHP警告:tx_caretaker_pi_singleview声明::getNodeChart($节点)应该与 /typo3conf/ext/caretaker/pi_singleview/class.tx_caretaker_pi_singleview.php行40中tx_caretaker_pib