在本指南建立記憶體快取的基礎上,我們將進一步介紹可設定的資料持久性。透過利用適配器和策略模式,我們將設計一個可擴展的系統,將儲存機制與快取邏輯分離,從而允許根據需要無縫整合資料庫或服務。
目標是使快取可擴展而不改變其核心邏輯。受 ORM 系統的啟發,我們的方法涉及共享 API 抽象。這使得儲存(例如 localStorage、IndexedDB 甚至遠端資料庫)能夠以最少的程式碼更改互換工作。
這是為任何持久性系統定義 API 的抽象類別:
任何儲存解決方案都必須擴充此基類,以確保互動的一致性。例如,這是 IndexedDB 的實作:
此適配器實作 StorageAdapter 介面以將快取資料保存在 IndexedDB 儲存中。
快取接受可選的 StorageAdapter。如果提供,它會初始化資料庫連接,將資料載入到記憶體中,並使快取和儲存保持同步。
使用適配器模式:
如果您想測試實際緩存,可以使用 npm 套件:adev-lru。您也可以在 GitHub 上探索完整的原始程式碼:adev-lru 儲存庫。我歡迎任何建議、建設性回饋或貢獻,使其變得更好! ?
編碼愉快! ?
以上是透過可配置的資料持久性增強 LRU 緩存的詳細內容。更多資訊請關注PHP中文網其他相關文章!