非限制性读写和读写之间的真正区别是什么?我可以阅读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>
当更新集合,在发生更新的节点和其他节点上,究竟发生了什么?这里的非限制性读写和读写有什么区别?一个节点有可能使用其从缓存中过去的10分钟版本吗?
请注意冗长的超时和异步复制.