如何清理所有缓存数据?

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()

【讨论】:

以上是关于如何清理所有缓存数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何清理缓存数据

如何清理MySQL 的查询缓存

ios小程序清除缓存

如何清理Nginx缓存

清理手机缓存每次都要花费很长时间,有啥办法可以快速清理吗?

浏览器清理缓存怎么清理