我正在使用 Apollo Federation,我有一个关于缓存的问题。
现在我有一个这样的查询,我想在哪里找到帖子的作者:
query GetPost {
post(id: "123") {
id
author {
id
name
}
}
}
Post 是一项服务,Author 是另一项服务。“id”包含在 post 模型中,因为在使用客户端 apollo 库时这是预期的。
当该查询运行时,内部会发出两个请求:每个服务一个。
现在,生成的对 post 服务的请求(由网关)非常简单,如下所示:
query {
post(id: "123") {
id
}
}
我每分钟都会得到数千个,并想缓存它们。显然,通过 ID 获取帖子的 ID 永远不会改变,所以每次这样的请求都是浪费。
有没有办法在网关端缓存这个请求?这样它就不会向邮政服务发出请求。