缓存
缓存字段解析缓存

字段解析缓存

Included in the “Power Extensions” bundle

在 GraphQL 模式中添加 @cache 指令,将字段的结果存储到磁盘中,并保留指定的时间。在该时间范围内执行同一字段时,将返回缓存的值。

在 GraphQL query 中,为需要缓存的字段添加 @cache,并指定结果需要缓存的时间(以秒为单位)。

当执行高成本操作(例如与外部 API 交互)时,此指令可以通过缓存并复用响应来提升性能。

示例

@strTranslate 会连接到 Google Translate API。使用 @cache(time: 10) 后,title 字段的翻译值将被缓存 10 秒,在此时间内再次执行同一 query 将不会连接到 Google Translate,从而实现非常快速的解析。

query {
  posts(pagination:{ limit: 3 }) {
    id
    title
      @strTranslate(from: "en", to: "es")
      @cache(time: 10)
  }
}