Dot-Net-Core
當我們有 IDistributedCache 時,為什麼要使用 IMemoryCache?
.Net Core 為兩個介面 (
MemoryCache和DistributedMemoryCache) 提供了記憶體中的實現,但讓我們假設我們IDistributedCache的應用程序有一個有效的實現。什麼時候仍然使用
IMemoryCache. 在什麼情況下,它比在分佈式記憶體中記憶體數據更有幫助或更受歡迎?
我正在尋找相同的東西,並在 github 問題中找到了答案:
它們具有根本不同的語義。MemoryCache 可以儲存活動對象,分佈式記憶體不能,對象必須被序列化。分佈式記憶體可以是開箱即用的,對它的呼叫可能會失敗或需要很長時間,因此獲取和設置應該是非同步的,MemoryCache 始終在記憶體中並且速度很快。分佈式記憶體可以與儲存斷開連接,因此介面應該考慮到這一點。
https://github.com/aspnet/Caching/issues/220#issuecomment-241229013