GraphQL 캐싱은 REST보다 어렵습니다. endpoint가 하나이고 요청이 대개 POST이므로 URL 기반 HTTP 캐싱이 기본으로는 동작하지 않기 때문입니다. 대신 세 개의 계층에서 캐싱합니다: 클라이언트, transport/CDN, 서버.
정규화된 클라이언트 캐시
Apollo Client와 Relay는 결과를 + 를 key로 하는 **정규화된 캐시(normalized cache)**에 저장합니다. 모든 객체는 한 번만 저장됩니다; 같은 을 참조하는 서로 다른 쿼리들은 이를 공유하므로, 한 엔티티를 갱신하는 mutation이 모든 뷰를 자동으로 새로 고칩니다.
