为了账号安全,请及时绑定邮箱和手机立即绑定

有没有办法在有限的时间内在客户端缓存 JSON

有没有办法在有限的时间内在客户端缓存 JSON

慕桂英3389331 2021-11-18 16:05:16
想象一下这种情况 - 用户在 URL 上访问他们的个人资料页面,/user/username并且加载到此 URL 上的组件必须向 API 发出 1 个 GET 请求才能获取有关具有该用户名的用户的信息。到目前为止/user/username一切顺利,但是,如果用户访问另一个 URL,然后决定返回带有 URL 的个人资料页面,该组件会针对之前获得的相同信息发出新的 GET 请求,这会导致两个缺点 - 信息没有不会立即出现,因为组件必须等待 GET 请求,而我正在对 API 进行第二次调用。这就是为什么我想知道是否可以以某种方式缓存该信息,以便当用户再次访问他的个人资料页面时,组件不必发出第二次 GET 请求。此外,此缓存信息应该能够在一个小时等特定时间后过期,以便它永远不会不准确。这是可以实现的并且值得吗?
查看完整描述

2 回答

?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

您可以使用浏览器本地存储或 WebSql 或IndexedDB在浏览器上存储数据,但要小心,它们有大小限制。

您应该在服务器端而不是客户端缓存数据,这样您将有更多的权限来管理您的数据(缓存大小,刷新缓存,...)


查看完整回答
反对 回复 2021-11-18
?
慕哥6287543

TA贡献1831条经验 获得超10个赞

我个人会首先尝试“Sudhakar RS”提到的 http 缓存解决方案,但接下来我会尝试会话存储。还有一个 vue-sessionstorage 插件。当然,您的数据将对该会话有效。如果您的会话比您提到的小时长,您将必须手动处理它,作为您使用时间戳保存的数据的一部分。我认为所有会话存储数据的大小限制为 5MB 。如果您需要更多,那么我会选择“Hung Nguyen”的建议。


查看完整回答
反对 回复 2021-11-18
  • 2 回答
  • 0 关注
  • 169 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信