2017-02-17 57 views
1

我讀到: MongoDB將最近使用的數據保留在RAM中。如果您爲查詢創建了索引,並且您的工作數據集適合內存,則MongoDB會爲來自內存的所有查詢提供服務。爲MongoDB清漆,有必要嗎?

是否有必要爲與mongoDB對話的REST API構建清漆緩存?

回答

0

在與MongoDB甚至其他數據庫的直接通信中,Varnish緩存並不是必需的,因爲幾乎所有的最新數據庫都有緩存技術。

但是在Web服務器之前,我強烈推薦使用Varnish。它可以大大增加你的Web服務器可以響應,因爲即使你的數據庫已經有一個重複的查詢答案,你的Web服務器仍然需要請求數:

  1. 解析請求;
  2. 將查詢轉發給數據庫;
  3. 準備迴應;
  4. 迴應請求者。

隨着您的Web服務器前的清漆,它將不需要執行任何這些步驟。在這種情況下,Varnish不僅會減少Web服務器需要響應的請求數量,還會減少對數據庫的查詢。

另外值得一提的是,如果你的數據庫不在你的API的同一個服務器上,即使你的響應速度非常快,如果你在尋找硬核性能,也會出現網絡延遲。