2017-06-14 82 views
0

我们目前正在使用NHibernate.Caches.Redis项目,该项目在采集数据时使用了多个锁。我们已经注意到,默认的锁定超时时间为30秒,这似乎是等待获取锁定的一段时间,而且当锁定失败时,我们在日志中收到了很多超时,所以我们正在考虑降低数值...但我们不确定是什么。在使用NHibernate.Caches.Redis时锁定的超时值会是什么?

是否有人能够提供一些建议,了解什么是超时值,以及降低锁定超时值对性能的潜在副作用?

+0

不确定堆栈溢出是否合适,或者其他问题可能过于宽泛,即使有更多细节如[另一个](/ q/41893459/1178314)。这样的问题可能需要讨论如何选择超时,这更多的是关于一般概念的讨论。在这种情况下,https://softwareengineering.stackexchange.com可能更适合。 –

+0

@Frédéric在引用其他网站时,指出[交叉发帖不愿意](https://meta.stackexchange.com/tags/cross-posting/info) – gnat

+0

@gnat通常很有帮助,当然这意味着如果OP同意其目前不在正确的网站上,则删除此处的问题(或迁移该问题)。我通常期望一个10k +用户知道这一点。 –

回答

0

所以上面的问题可能有点宽泛,但在这里张贴后人的希望,希望这将有助于未来的人。

我们在我们的NHibernate缓存中获得了很多锁定,导致后续超时 - 因此上面的问题。

要解决该问题,我们禁用了QueryCache并减少了我们在L2缓存中缓存的范围。

QueryCache导致各种锁定问题(更多详细信息here)。 禁用QueryCache解决了该问题。

相关问题