キャッシュフィールド解決キャッシュ
フィールド解決キャッシュ
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)
}
}Prev
Next