2016-12-30 94 views
0

我有幾十臺服務器每分鐘執行數千個任務。每個任務都需要從RavenDb加載3個對象。這些對象非常不經常地改變,例如每天20-30次改變(在數百萬次對Raven的調用中得到它們)。RavenDb,積極緩存和超時

我被建議使用積極緩存,以儘量減少我的RavenDb上的負載,我做了哪些工作。

但是,當我的工作服務器和Raven服務器之間存在通信問題時,來自Raven的積極緩存負載會因超時而失敗。如果客戶端沒有收到對象發生更改的通知,並且只使用它們的緩存值,我怎麼能阻止客戶端甚至查看Raven?如果默認情況下內存中的所有內容都沒有保存在內存中,我可以配置的緩存大小可能有多大?

+0

你是什麼意思:「Raven的緩存加載失敗,超時失敗」 –

+0

當工作者實例和Raven之間發生一些通信問題(即網絡問題)時,我的客戶端調用加載對象超時,至少其中一些時間。我假設客戶端將從緩存中檢索數據,而不會打擾通信中斷的服務器 – Igorek

回答

0

積極的緩存意味着客戶端將直接從緩存提供請求(如果可能)。但它不一定。

特別是,文檔可能不在緩存中(它可能已被逐出),或者我們可能需要去服務器查看它是否是最新的,因爲我們收到了關於文檔更改的通知。

您不能認爲積極緩存不會影響服務器,實際上,它們會被計入每個會話配額的請求數。

+0

正確的,這是我的原始問題,我如何增加客戶端緩存的大小,因此驅逐不那麼頻繁 – Igorek