Caching 如何使阿波罗中的缓存失效?

Caching 如何使阿波罗中的缓存失效?,caching,graphql,apollo,Caching,Graphql,Apollo,有人知道如何在阿波罗中执行缓存失效吗 我正在解析程序中设置缓存提示: export default (root, args, { userId }, { cacheControl }) => { cacheControl.setCacheHint({ maxAge: 60 }); return userId && Meteor.users.findOne(userId); }; 但是,如果某些内容发生了更改,并且maxAge足够大,则不会反映出更改 我现在正在考

有人知道如何在阿波罗中执行缓存失效吗

我正在解析程序中设置缓存提示:

export default (root, args, { userId }, { cacheControl }) => {
  cacheControl.setCacheHint({ maxAge: 60 });

  return userId && Meteor.users.findOne(userId);
};
但是,如果某些内容发生了更改,并且
maxAge
足够大,则不会反映出更改

我现在正在考虑在突变中调用
cacheControl.setCacheHint({maxAge:0})
,还有其他方法吗?

您可以检查:

您可以使用函数匹配

const randomKeyMatch = key => Math.random() >= 0.5

const update = invalidateFields(() => [
  [randomKeyMatch, 'happy']
])

client.mutate({ mutation, update })

我也有同样的问题,你解决了吗?谢谢。我认为作者想要使缓存失效,应该对客户端透明。但是这个解决方案需要客户端做一些事情。