是 .NET 9 中的一個全新快取 API,為 ASP.NET Core 應用程式提供了一種新的改進的快取解決方案。此新功能旨在簡化快取實現並提高效能。
HybridCache 的目標是解決 IMemoryCache 和 IDistributedCache 的缺點。
HybridCache 提供的一些功能:
- - 程序內和程序外快取的統一 API
- - 可配置的序列化
- - Stampede 保護
預設的入口點是GetOrCreateAsync方法,它實現了快取旁模式。
- HybridCache 會嘗試檢索指定鍵的物件。
- 它會首先檢查一級和二級快取(如果配置了)。
- 如果未找到物件,它會呼叫工廠方法,並在返回之前將其儲存起來。
HybridCache 還具有踩踏保護功能,確保只有一個針對給定鍵的併發請求可以執行工廠方法。
public class SomeService |
HybridCache 的主要功能包括
- 簡化的應用程式介面:GetOrCreateAsync 方法允許開發人員指定快取鍵和工廠方法,以便在不存在快取值的情況下建立快取值。
- 併發執行處理:HybridCache 可確保一個給定鍵只有一個併發呼叫者執行工廠方法,而其他呼叫者則等待結果。
- 可配置選項:開發人員可以使用 AddHybridCache 方法配置全域性預設值,包括最大有效載荷大小、鍵長度和預設入口選項。
- 靈活的快取入口選項:HybridCacheEntryOptions 物件允許覆蓋特定快取項的全域性預設值,如過期時間。
- 效能改進:與傳統的分散式快取相比,HybridCache 具有顯著的效能優勢。在基準測試中,訪問 HybridCache 的速度比訪問單獨的分散式快取快約 1000 倍。
.NET 9 中引入的 HybridCache 標誌著 ASP.NET Core 應用程式快取功能的重大改進,為開發人員提供了更高效、更易用的快取解決方案。