`title: IndexedDB TTL 到期清理策略``categories: Web 开发/前端/数据管理``keywords: IndexedDB,TTL,到期,清理,配额``description: 为数据设置到期时间并定期清理过期项,结合窗口策略与批处理,降低配额压力并保持查询性能。`设置与清理async function purgeExpired(db, storeName, now = Date.now()) {

return new Promise((resolve, reject) => {

const tx = db.transaction(storeName, 'readwrite');

const s = tx.objectStore(storeName);

const idx = s.index('byExpiresAt');

const r = IDBKeyRange.upperBound(now);

idx.openCursor(r).onsuccess = e => {

const c = e.target.result; if (!c) return;

s.delete(c.primaryKey); c.continue();

};

tx.oncomplete = () => resolve();

tx.onerror = () => reject(tx.error);

});

}

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部