キャッシュ
キャッシュフィールド解決キャッシュ

フィールド解決キャッシュ

Included in the “Power Extensions” bundle

GraphQLスキーマに @cache ディレクティブを追加することで、フィールドの結果を指定した時間だけディスクに保存します。その時間内に同じフィールドを実行すると、キャッシュされた値が返されます。

GraphQLクエリでキャッシュしたいフィールドに @cache を追加し、結果をキャッシュする時間(秒単位)を指定します。

このディレクティブは、外部APIとのやり取りなどコストのかかる操作を実行する際にパフォーマンスを向上させることができます。レスポンスをキャッシュして再利用できるためです。

@strTranslate はGoogle Translate APIに接続します。@cache(time: 10) を使用すると、title フィールドの翻訳済みの値が10秒間キャッシュされ、この時間内に同じクエリを再度実行してもGoogle Translateへの接続が行われないため、非常に高速な解決が実現します。

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