Το caching στο GraphQL είναι δυσκολότερο από ό,τι στο REST, επειδή υπάρχει ένα endpoint και τα αιτήματα είναι συνήθως POST, οπότε το HTTP caching βασισμένο σε URL δεν λειτουργεί εκ των προτέρων. Αντ' αυτού κάνεις cache σε τρία επίπεδα: client, transport/CDN και server.
Normalized client cache
Ο Apollo Client και το Relay αποθηκεύουν τα αποτελέσματα σε ένα με key το + . Κάθε αντικείμενο αποθηκεύεται μία φορά· διαφορετικά queries που αναφέρονται στον ίδιο το μοιράζονται, οπότε μια mutation που ενημερώνει μία οντότητα ανανεώνει αυτόματα κάθε view.
