Caching
通过标准 HTTP 缓存,在客户端或客户端与服务器之间的中间层(如 CDN)缓存 GraphQL 响应。

Click to watch tutorial video - 05:30
通过为 GraphQL 响应提供 HTTP 缓存,并缓存高开销操作的结果,让您的应用程序运行更快。
Cache Control
使用 HTTP 缓存在 GraphQL query 响应中发送带有 max-age 值的 Cache-Control 标头,指示响应应缓存的时长。
Cache Control 扩展提供 Cache Control 列表,可为字段和指令定义自定义 max-age 值。
响应的 max-age 值由 GraphQL 引擎根据 query 中存在的字段和指令自动计算。

字段解析缓存
向 GraphQL schema 添加 @cache 指令,将字段的结果存储到磁盘中,保存指定的时长。在该时间段内再次执行相同字段时,将返回缓存的值。
当执行高开销操作(例如与外部 API 交互)时,此指令可以提升性能,因为我们可以缓存并复用这些操作的响应。
query {
posts {
id
title
@strTranslate(from: "en", to: "es")
@cache(time: 10)
}
}