Programming/GraphQL (2) 썸네일형 리스트형 GraphQL Apollo Client - 캐싱 전략 (1편) 해당 글은 GraphQL - Apollo Client의 캐싱 전략에 대한 글이다. 모든 ApolloClient 인스턴스에서 InMemoryCache를 사용한다. Apollo Client는 GraphQL query의 결과들을 로컬, 정규화된(normalized), in-memory cache에 저장한다. 네트워크 요청을 전송하지 않고도 이미 캐시된 데이터를 사용하여 즉각 응답한다. InMemoryCache는 오브젝트들이 서로 참조가능하도록 flat lookup table형태로 데이터를 저장한다. 동일한 객체의 다른 필드를 가져오는 경우 하나의 캐시된 객체에는 다수의 쿼리 결과 필드를 포함할 수도 있다. 캐시는 flat한 구조지만, GraphQL query로부터 반환되는 객체는 flat하지 않다. InMem.. Apollo GraphQL custom plugin - 나만의 로그 만들기 import { ApolloServer } from '@apollo/server'; const server = new ApolloServer({ typeDefs, resolvers, // 여기! plugins: [loggerPlugin, errorHandlingPlugin], }); 클라이언트로부터 받는 모든 GraphQL 요청들에 대해서 로그를 남겨 모니터링해야하는 일이 있었다. 현재 Apollo GraphQL을 사용하고 있는데 공식 문서를 찾아보던중 custom plugin을 직접 만들어서 GraphQL의 라이프 사이클의 각 단계마다 원하는 동작을 추가할 수 있다는 것을 알게 되었다. 그래서 이번 글에서는 Apollo GraphQL custom plugin에 대한 글이다. Plugin의 기본 구조 P.. 이전 1 다음