`title: IndexedDB LRU 缓存与热点数据管理``categories: Web 开发/前端/数据管理``keywords: IndexedDB,LRU,热点,缓存,淘汰``description: 在 IndexedDB 中实现 LRU 缓存与热点数据管理,通过访问计数与时间窗口进行淘汰,保障高命中与低配额压力。`模型`items(id, value, lastAccess, accessCount)`;阈值触发淘汰与压缩。更新访问元信息async function touch(db, id) { return new Promise((resolve, reject) => { const tx = db.transaction('items', 'readwrite'); const s = tx.objectStore('items'); const r = s.get(id); r.onsuccess = () => { const v = r.result; if (!v) return resolve(); s.put({ ...v, lastAccess: Date.now(), accessCount: (v.accessCount || 0) + 1 }); }; tx.oncomplete = () => resolve(); tx.onerror = () => reject(tx.error); }); } 淘汰策略定期扫描 `lastAccess` 最旧与 `accessCount` 最低条目,清理或归档至 Blob。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部