zl程序教程

您现在的位置是:首页 >  大数据

当前栏目

[from disk cache] Axios 请求取得脏数据

数据 请求 from 取得 cache disk Axios
2023-06-13 09:12:22 时间

BG: 最近在开发一个项目的过程中,发现本机切换账户后,发送相同请求,竟然请求到了相同的数据,而后发现了这个小细节。

起初,我以为脏数据是由于后台缓存机制的问题,而后经过调试和搜寻发现,并非是后台缓存的问题。而是前台数据请求的问题,经过查看两次发送的请求,发现首次发送成功,而第二次,则在 RequestHeader 中出现了 from disk cache 的信息,请求并未发送成功。

那么什么是 from disk cache 呢?

from disk cache 是指已经在之前的某个时间加载过该资源,所以并不会请求服务器,且此资源不会随着该页面的关闭而释放掉,因为是存在硬盘当中的,下次打开仍会出现 from disk cache。

也就是说,前台自动查询了你以往的查询记录,而后从本地相同查询中取出了数据,并未发送至服务器重新获取;于是就出现了脏数据的情况。

顺带,我也查了另一个相类似的错误:from memory cache

该提示,也是指:这个资源是直接从内存中拿到的,不会请求服务器一般已经加载过该资源且缓存在了内存当中,当关闭该页面时,此资源就被内存释放掉了,再次重新打开相同页面时不会出现 from memory cache 的情况。

对于这种情况的解决也十分简单,禁用缓存即可:

headers: {‘Cache-Control’: ‘no-cache’}

Axios 中:

axios.defaults.headers['Cache-Control'] = 'no-cache'