GraphQL:n cachettaminen on vaikeampaa kuin RESTin, koska on vain yksi endpoint ja pyynnöt ovat yleensä POST-pyyntöjä, joten URL-pohjainen HTTP-caching ei toimi suoraan. Sen sijaan cachettaa kolmella tasolla: client, transport/CDN ja palvelin.
Normalisoitu client-cache
Apollo Client ja Relay tallentavat tulokset , jonka avaimena on + . Jokainen objekti tallennetaan kerran; eri kyselyt, jotka viittaavat samaan :een, jakavat sen, joten mutation, joka päivittää yhden entiteetin, päivittää kaikki näkymät automaattisesti.
