【问题标题】:Caching a big HTTP response?缓存一个大的 HTTP 响应?
【发布时间】:2022-01-18 14:27:24
【问题描述】:

一旦通过身份验证,我会保存一个令牌,然后用于发出进一步的请求,但在页面刷新后,必须发送对该令牌的相同请求。

JSON 响应为 9MB。我尝试将其保存在 localStorage 中,但它超出了配额。有没有办法在客户端做到这一点?

谢谢。

【问题讨论】:

  • 改用 sessionStorage。
  • @GoldenretriverYT 说限制是5MB。
  • 这能回答你的问题吗? localStorage store large size data
  • 不是会话存储,没有。但您可以尝试使用缓存 API:web.dev/cache-api-quick-guide
  • @BlackMamba 我想问一下你为什么建议使用 WebSQL,因为它在 10 年前就被 W3C 弃用了......

标签: javascript html system-design


【解决方案1】:

有多种处理方式:

  1. 用户可以修改本地存储的配额,可以提示用户增加存储。
  2. 您可以压缩数据并减小其大小。
  3. 在 chrome 中,如果您将其打包到 chrome 应用程序中,则它允许您对其进行更改。
  4. 您可以使用第三方库存储如Dexie.js

【讨论】:

  • Dexie.js 只是 IndexedDB 的(很好的)包装器,它不提供对数据的同步访问,这可能会破坏 OP 的要求。就我个人而言,我只是直接使用 IndexedDB(也许我自己的 Promise-wrapper 很薄),因为依赖关系越少越好。
猜你喜欢
  • 2011-03-25
  • 2012-04-10
  • 1970-01-01
  • 2011-04-21
  • 2020-03-25
  • 2013-04-04
  • 2018-03-16
  • 2016-01-17
相关资源
最近更新 更多