RavenDb、主动缓存和超时

RavenDb、主动缓存和超时,ravendb,Ravendb,我有几十台服务器,每分钟执行数千项任务。每个任务需要从RavenDb加载3个对象。这些对象很少更改,比如每天更改20-30次(数百万次呼叫Raven获取它们) 有人建议我使用积极的缓存来最大限度地减少RavenDb上的负载,我这样做了,也这样做了 但是,当我的工作服务器和Raven服务器之间存在通信问题时,Raven的快速缓存加载会因超时而失败。如果客户端没有收到对象已更改的通知,并且仅使用其缓存值,我如何防止客户端查看Raven?如果缓存在默认情况下不能保存内存中的所有内容,是否可以配置缓存的

我有几十台服务器,每分钟执行数千项任务。每个任务需要从RavenDb加载3个对象。这些对象很少更改,比如每天更改20-30次(数百万次呼叫Raven获取它们)

有人建议我使用积极的缓存来最大限度地减少RavenDb上的负载,我这样做了,也这样做了


但是,当我的工作服务器和Raven服务器之间存在通信问题时,Raven的快速缓存加载会因超时而失败。如果客户端没有收到对象已更改的通知,并且仅使用其缓存值,我如何防止客户端查看Raven?如果缓存在默认情况下不能保存内存中的所有内容,是否可以配置缓存的大小?

主动缓存意味着如果可以,客户端将直接从缓存提供请求。但这不一定

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


您不能假设主动缓存不会命中服务器,事实上,它们是根据每个会话配额的请求计算的

你是什么意思:“Raven的快速缓存加载失败并超时”当工作实例和Raven之间出现一些通信问题(即网络问题)时,我的客户端调用加载对象超时,至少其中一些。我假设客户机将从缓存中检索数据,而不会干扰通信中断的服务器。这是我最初的问题,如何增加客户机缓存的大小,从而减少逐出的频率