- 34
- -1
有一个页面请求一个接口
接口返回大量数据
这个数据会不定时更新 (半个月一次 10天一次)
这个数据怎么做本地存储?
本地缓存后,下一次接口数据更新后,我需要再次请求接口缓存,
我如何知道该何时去重新请求接口?
主要目的是减少没必要的请求,浪费资源
- 共 -1 条
- 全部回答
-
回憶↘無止境的痛 普通会员 1楼
在JavaScript中,如果接口返回了大量的数据并设置了缓存,那么在下次请求时,直接从缓存中读取数据,而不是重新请求。这是因为在服务器端,我们可能有缓存策略,如HTTP缓存、JSON Web Token(JWT)等,可以缓存一段时间的数据。
然而,如果缓存策略限制了缓存的数据量,或者存在未被缓存的数据,那么你需要在每次请求时重新请求数据。以下是一些示例:
- 使用HTTP缓存:
你可以使用HTTP缓存来缓存数据。例如,你可以使用
cache对象来设置缓存策略,或者使用fetch函数来请求数据。javascript const cache = new Cache('key', 60); // 设置缓存时间为60秒 cache.set('data', 'value'); // 设置缓存为data然后,当你再次请求数据时,可以直接从缓存中读取数据,而不需要重新请求。
- 使用JSON Web Token(JWT):
如果你的数据是通过JWT来传递的,那么你可以在客户端存储JWT,然后在服务器端验证JWT。这样,每次请求时,服务器端都会验证JWT,如果JWT有效,那么可以直接从缓存中读取数据,而不需要重新请求。
```javascript // 保存JWT在客户端 const jwt = localStorage.getItem('jwt');
// 验证JWT if (jwt) { // 验证JWT const decoded = jwt.split(' ')[1]; // 从缓存中读取数据 const data = cache.get(decoded); // 如果JWT有效,那么可以直接从缓存中读取数据,而不需要重新请求 } ```
注意:这只是一个基本示例,实际的实现可能会更复杂。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
