概述多维度缓存键能明确区分资源变体,避免错配。键构造示例function makeKey(req, dims) { const u = new URL(req.url); const parts = [u.origin + u.pathname]; for (const [k,v] of Object.entries(dims)) parts.push(`${k}=${v}`); return parts.join('|'); } self.addEventListener('fetch', event => { event.respondWith((async () => { const res = await fetch(event.request); const dims = { v: (res.headers.get('ETag') || '').replace(/"/g,''), enc: res.headers.get('Content-Encoding') || 'identity', lang: res.headers.get('Content-Language') || 'default' }; const cache = await caches.open('multi-v1'); const key = new Request(makeKey(event.request, dims), { headers: event.request.headers }); await cache.put(key, res.clone()); return res; })()); });

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部
1.930429s