Caching
CachingBuforowanie Rozwiązywania Pól

Buforowanie Rozwiązywania Pól

Included in the “Power Extensions” bundle

Dodanie dyrektywy @cache do schematu GraphQL, która przechowuje na dysku wynik pola przez żądany okres czasu. Przy wykonywaniu tego samego pola w tym przedziale czasowym zwracana jest wartość z pamięci podręcznej.

Dodaj @cache do pola, które chcesz buforować w zapytaniu GraphQL, określając, jak długo (w sekundach) wynik ma być przechowywany w pamięci podręcznej.

Ta dyrektywa może poprawić wydajność podczas wykonywania kosztownych operacji (np. podczas interakcji z zewnętrznymi API), ponieważ możemy buforować i ponownie wykorzystywać ich odpowiedzi.

Przykład

@strTranslate łączy się z interfejsem API Google Translate. Używając @cache(time: 10), przetłumaczona wartość pola title zostanie zapisana w pamięci podręcznej na 10 sekund, a ponowne wykonanie tego samego zapytania w tym przedziale czasowym pozwoli uniknąć połączenia z Google Translate, co skutkuje bardzo szybkim rozwiązaniem.

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