如何清理所有缓存数据?
Posted
技术标签:
【中文标题】如何清理所有缓存数据?【英文标题】:How to clean all cache data? 【发布时间】:2020-11-28 11:07:11 【问题描述】:是否可以将垃圾回收cache.gc()
与 vue-apollo 一起使用?
有什么方法可以清理所有的存储缓存数据吗?
例如,是否可以在生命周期内运行它?
<script>
import apolloClient from "@/main";
export default
mounted()
this.$apollo.cache.gc();
// or may be this.$apollo.queries.birds.cache.gc();
// or this.$store.cache.gc();
,
;
</script>
第一次注册后我无法获得列表。我必须刷新它。
【问题讨论】:
您可以随时将fetchPolicy: "network-only"
添加到您的 Apollo 查询中,它会跳过缓存。
我想缓存,但在某些情况下我只需要一种方法来擦除它
也许这个例子可以帮助你 - github.com/apollographql/apollo-client/issues/…
apolloClient.cache.data.clear();
_?
或者await client.clearStore(); await persistor.purge()
【参考方案1】:
首先,初始化 apollo 客户端:
import ApolloClients from '@vue/apollo-composable';
import createApp, provide, h from 'vue';
import App from './App.vue';
// other ...
const apolloClient = new ApolloClient(
link: from([errorLink, requestInterceptor, authLink, traceLink, httpLink]),
cache: new InMemoryCache(
addTypename: false
)
);
const app = createApp(
setup()
provide(ApolloClients,
default: apolloClient
);
,
render: () => h(App)
);
export default apolloClient
然后,您可以随时清除 apollo 网络缓存:
import apolloClient from 'xxx.ts'
apolloClient.cache.reset()
【讨论】:
以上是关于如何清理所有缓存数据?的主要内容,如果未能解决你的问题,请参考以下文章