Buforowanie Rozwiązywania Pól
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)
}
}