Apollo Client的InMemoryCache物理存储相关技术问询
Apollo Client InMemoryCache 存储位置与生命周期解答
1. 物理存储位置
InMemoryCache 的缓存数据就存在浏览器的运行内存(RAM)里,不属于 sessionStorage、localStorage、IndexedDB 这类持久化存储工具,也和前端服务器没有关系。它是 Apollo Client 实例在 JavaScript 运行时维护的内存对象,完全在客户端内存中运作。
2. 数据生命周期
InMemoryCache 的生命周期和当前页面的 JavaScript 执行上下文绑定:
- 当页面刷新、标签页或浏览器关闭时,JavaScript 上下文被销毁,缓存数据会立刻被清除,这个行为和
sessionStorage类似(标签页关闭即失效)。 - 如果手动销毁 Apollo Client 实例,或者页面相关组件卸载导致实例被垃圾回收,缓存数据也会跟着被清除。
- 只要页面保持打开且 Apollo Client 实例存在,缓存数据就会一直保留,不会像会话 Cookie 那样要等浏览器所有会话标签页关闭才失效——它的失效时机更直接,和当前页面的存活状态绑定。
内容的提问来源于stack exchange,提问作者Arun R Nambiar
相关产品推荐
相关产品推荐

