2015-02-08 79 views
0

我假設這個答案因數據庫的大小而異。但是,假設數據庫非常大,大概爲0.5 GB到5 GB,那麼每當調用任務時查詢數據庫是一個好習慣,而不是在啓動腳本時將變量設置爲整個數據庫,並搜索變量而不是數據庫?設置一個變量等於整個數據庫的好習慣嗎?

什麼,我之前做的是:

每當服務器啓動了,它會查詢整個數據庫,並設置一個變量等於集合。每當有一個新的「行」(不知道他們在MongoDB中調用它的時候),它會被推送到變量和數據庫中。如果「行」存在,它將$設置它需要的任何數據到數據庫和變量。

預先感謝您。

+0

它被稱爲「緩存」,取決於你的應用的功能。如果它只是一個小數據量的小應用程序,那麼您可以查詢數據庫 – 2015-02-08 21:26:38

+0

我認爲如果數據量很大,「緩存」數據會很糟糕。這不會需要更多的內存? – ECMAScript 2015-02-08 21:36:29

+0

緩存所有數據不是一個好主意。通常你會識別經常使用的數據並緩存它。但這一切都取決於您擁有的應用程序和硬件(例如,有分佈式緩存解決方案) – 2015-02-08 21:39:52

回答

1

不,不要擔心引入任何緩存,直到遇到實際的性能問題時,您可以追溯到特定查詢時間過長。

MongoDB對最近訪問過的索引和文檔執行自己的緩存,因此對自己的通用緩存進行通常是多餘的。

有關該主題的更多信息,請參閱the FAQ

相關問題