응답 캐싱
공개 GraphQL API는 결정된 응답을 기본적으로 캐시합니다. 레코드가 기록되면 그 레코드를 참조한 캐시된 응답은 삭제됩니다.
기본으로 켜져 있으며 60초
레코드를 보관하는 모든 모델은 60초 동안 캐시합니다. 이 유효 시간 안에 같은 쿼리를 반복하면 응답을 다시 결정하지 않고 저장된 응답을 반환합니다. 일반 모델은 같은 쿼리를 보내는 호출자 사이에서 하나의 항목을 공유합니다. 레코드에 소유자가 있는 모델은 소유자별로 캐시됩니다.
쓰기 후 무효화
레코드를 만들거나, 업데이트하거나, 삭제하거나, 게시하거나, 게시 취소하면 그 레코드를 참조한 캐시된 응답이 모두 삭제됩니다. 목록 응답은 목록의 어느 레코드가 편집되어도 삭제되며, 관련 없는 모델은 영향을 받지 않습니다. 무효화는 쓰기가 커밋된 뒤에 실행되므로 몇 밀리초 동안은 읽기가 이전 응답을 받을 수 있습니다. 무효화가 유실될 경우를 대비한 안전장치는 유효 시간이며, 캐시 저장소에 연결할 수 없어도 쓰기는 그대로 커밋되고 다음 읽기는 정상적으로 결정됩니다.
자신이 쓴 것 읽기
뮤테이션 응답에는 X-Foir-Write-Token 헤더가 있습니다. 다음 읽기에 이를 보내면 서버는 그 쓰기와 같거나 더 최신인 캐시 항목만 제공합니다.
수동 삭제
쓰기 경로에서 볼 수 없는 변경에는 foir cache purge 명령으로 레코드 하나, 모델 하나 또는 전체를 비울 수 있습니다. 다른 시스템에서 내용이 바뀐 레코드 하나는 새로 고침 뮤테이션으로 처리할 수 있습니다.