【发布时间】:2012-08-20 01:05:14
【问题描述】:
我使用 NHibernate 和 Memcached 作为二级缓存,并且一直对 cache.use_minimal_puts 配置选项感到好奇。
根据文档:
hibernate.cache.use_minimal_puts:优化二级缓存操作以最小化写入,代价是 更频繁的阅读。此设置对集群最有用 缓存,并且在 Hibernate3 中,默认为集群缓存启用 实现。
需要明确的是,我没有在集群环境中运行 Memcached,但它确实在远程机器上运行。另一个需要考虑的因素可能是读取和写入 Memcached 的速度是否有任何重大差异。
在这种情况下启用cache.use_minimal_puts 会受益吗?
【问题讨论】:
-
“以更频繁的读取为代价” - 读取也意味着网络开销,对吧?
-
@PlínioPantaleão - 好点......所以也许一个更好的问题是:写入(很多)比在 memcached 中读取更昂贵?
-
我没有任何证据支持我的观点,但我不相信这一点。这仅适用于分布式环境,因为写入可能会导致您丢失其他机器上的缓存。如果这在单个机器案例中是真的,我认为他们之前会这样做:)
标签: hibernate nhibernate caching memcached second-level-cache