Caching
CachingCaching Resolusi Field

Caching Resolusi Field

Included in the “Power Extensions” bundle

Penambahan direktif @cache ke skema GraphQL, yang menyimpan hasil dari sebuah field ke disk selama jumlah waktu yang diminta. Ketika menjalankan field yang sama dalam rentang waktu tersebut, nilai yang di-cache akan dikembalikan.

Tambahkan @cache ke field yang ingin di-cache dalam GraphQL query, dengan menentukan berapa lama (dalam detik) hasil tersebut harus di-cache.

Direktif ini dapat meningkatkan performa saat menjalankan operasi yang mahal (seperti saat berinteraksi dengan API eksternal), karena kita dapat menyimpan dan menggunakan kembali responsnya.

Contoh

@strTranslate terhubung ke Google Translate API. Dengan menggunakan @cache(time: 10), nilai terjemahan untuk field title akan di-cache selama 10 detik, dan menjalankan query yang sama lagi dalam rentang waktu ini akan menghindari koneksi ke Google Translate, sehingga menghasilkan resolusi yang sangat cepat.

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