GraphQL cachen is lastiger dan REST omdat er één endpoint is en requests meestal POST zijn, waardoor URL-gebaseerde HTTP-caching niet out of the box werkt. Je cachet in plaats daarvan op drie lagen: client, transport/CDN en server.
Genormaliseerde client-cache
Apollo Client en Relay slaan resultaten op in een met als key + . Elk object wordt één keer opgeslagen; verschillende queries die naar dezelfde verwijzen, delen hem, zodat een mutation die één entiteit bijwerkt automatisch elke view ververst.
