`CACHE_KEY_SCRIPT_INFO` (安装页面用的) scriptInfo (短期)储存优化
scriptInfo是安裝頁面用的獨特設計
解决 storage.session 爆炸问题 (scriptInfo要储 code)
-
过期时间 储存时标明过期时间 下次新增时清一下旧的
-
storage.session->blob不直接储大量数据在storage.session. 改用同样依据浏览器周期的 blobURLstorage.session只储blobURL过期发生时, BlobURL 也一起清掉
3)由于使用 blobURL, 所以不用另外呼叫 uuidv4
- 整合
CACHE_KEY_IMPORT_FILE吧
用blob储存也很奇怪,读的时候还要fetch造成一次请求,压缩 session 中的数据,尽量从 local 中去读取呢?例如 session 只存脚本id,要用到数据的时候去local读取,有些数据也可以存储到local中去
用blob储存也很奇怪,读的时候还要fetch造成一次请求,压缩 session 中的数据,尽量从 local 中去读取呢?例如 session 只存脚本id,要用到数据的时候去local读取,有些数据也可以存储到local中去
用blob储存也很奇怪,读的时候还要fetch造成一次请求
都是本机的。也不需要考虑效能问题 (就打开安装页时加载一下)
压缩 session 中的数据,尽量从 local 中去读取呢? 压缩慢,浪费CPU。也没什么压缩空间。 session + local 这样操作又复杂又双重 完全没好处
~不过 service worker 不能直接呼叫 blobURL. 可能会先把 code 放在 session 再等页面打开后换成 blobURL 做临时储存吧 感觉不用惊动 offscreen~
不对!现在的 fetch 就在页面进行! 要再仔细看看代码
scriptInfo 这个设计比较特殊啦
你不用想太多什么效能问题
能跑就行
不影响用户体感
我的压缩,不是数据压缩的意思,我的意思是 session 中只放 指向数据的id之类的内容,然后去 local 中读取
你这个blob,也差不多是类似的操作吧,session中放blobUrl,用的时候fetch去读取,精简session中的数据
我的压缩,不是数据压缩的意思,我的意思是 session 中只放 指向数据的id之类的内容,然后去 local 中读取
你这个blob,也差不多是类似的操作吧,session中放blobUrl,用的时候fetch去读取,精简session中的数据
喔。这样
不用这样做
因为不需要长期储存
用 blobURL 就行
这个 CACHE_KEY_SCRIPT_INFO 是安装页根据 url 的 uuid 载入下载好的脚本资料
浏览器关了就没
反过来把不需要长期储存的东西放在 local 管理很麻烦
真的。完全不需要 我之后再提交 PR 吧。都放在 v1.3 BETA 里
但是有些数据就是长期储存的,只是之前一股脑的放进来了,比如scriptInfo,精简一下我觉得也可以解决部分这个问题,用blobURL+fetch觉得太脏了
另外你创建blobURL始终要去offscreen的,我觉得在offscreen中用内存来储存,然后使用message来获取,也可以,这样也不是长期的
我觉得你理解有错了 可能我写得不够仔细吧 先不争论。 PR时再讲