我最近接觸到實體框架6 caching mechanism。 正如我們可能從this article得出的那樣,它是以第一槓的方式做的。我們是否需要外部緩存機制,而EF 6是否使用緩存?
我們的系統使用與MemoryCache
沿EF 6(第一代碼)來提高性能。
我們使用MemoryCache
主要的原因是因爲我們需要在每一個頁面請求的執行強烈的查詢。我們對每個頁面請求執行此查詢x3次(在最壞的情況下),因爲有客戶端回調。
我不知道,如果我們仍然需要使用MemoryCache
機制如果EF 6已經在使用一個。
值得一說的是,我們不使用任何特殊的緩存功能或緩存依賴。只是一個簡單的MemoryCache
超時。
謝謝你。我對第二部分感到驚訝,如果我執行一個查詢,然後更改數據庫中的值並再次執行相同的查詢,它會帶給我相同的結果,而不會發生更改。它是否仍然在第二次提到DB?雖然它給了我未更新的數據? – Jacob
@Jacob我更新了那部分來回答你的問題,希望它很清楚。如果您仍然有這方面的擔憂 - 很容易驗證自己 - 只需設置日誌記錄(如'context.Database.Log = Console.WriteLine'),然後執行相同的查詢兩次,您將看到執行了兩個數據庫查詢。 – Evk
最好解釋。非常感謝你! – Jacob