W-TinyLFU (窗口式 TinyLFU) 緩存
W-TinyLFU 是具有滑動窗口的窗口式 TinyLFU。
概覽
W-TinyLFU (窗口式 TinyLFU) 在 TinyLFU 中添加了滑動窗口機制。它使用時間窗口來跟蹤訪問頻率,更好地處理基於時間的訪問模式和周期性數據訪問。
特點
- 命中率: 90%
- 內存佔用: 中
- 並發性能: 高
- 實現複雜度: 複雜
使用場景
- 基於時間的訪問模式
- 周期性數據訪問
- 滑動窗口需求
- 需要時間窗口統計的場景
快速開始
安裝
基本使用
工作原理
W-TinyLFU 使用滑動窗口:
窗口內的訪問用於計算頻率,窗口外的訪問逐漸衰減。
API 參考
構造函數
主要方法
性能特徵
- 時間複雜度:
- Set: O(1) 平均
- Get: O(1) 平均
- Delete: O(1)
- 空間複雜度: O(n),其中 n 是緩存容量
最佳實踐
- 選擇適當的窗口大小: 根據訪問模式調整窗口大小
- 周期性訪問: W-TinyLFU 特別適用於周期性訪問模式
- 時間窗口統計: 適用於需要時間窗口統計的場景