2016-12-30 98 views
0

我有几十台服务器每分钟执行数千个任务。每个任务都需要从RavenDb加载3个对象。这些对象非常不经常地改变,例如每天20-30次改变(在数百万次对Raven的调用中得到它们)。RavenDb,积极缓存和超时

我被建议使用积极缓存,以尽量减少我的RavenDb上的负载,我做了哪些工作。

但是,当我的工作服务器和Raven服务器之间存在通信问题时,来自Raven的积极缓存负载会因超时而失败。如果客户端没有收到对象发生更改的通知,并且只使用它们的缓存值,我怎么能阻止客户端甚至查看Raven?如果默认情况下内存中的所有内容都没有保存在内存中,我可以配置的缓存大小可能有多大?

+0

你是什么意思:“Raven的缓存加载失败,超时失败” –

+0

当工作者实例和Raven之间发生一些通信问题(即网络问题)时,我的客户端调用加载对象超时,至少其中一些时间。我假设客户端将从缓存中检索数据,而不会打扰通信中断的服务器 – Igorek

回答

0

积极的缓存意味着客户端将直接从缓存提供请求(如果可能)。但它不一定。

特别是,文档可能不在缓存中(它可能已被逐出),或者我们可能需要去服务器查看它是否是最新的,因为我们收到了关于文档更改的通知。

您不能认为积极缓存不会影响服务器,实际上,它们会被计入每个会话配额的请求数。

+0

正确的,这是我的原始问题,我如何增加客户端缓存的大小,因此驱逐不那么频繁 – Igorek