작성
·
67
0
이전 faker 를 사용했을 때 이미지가 바뀌는 문제때문에 getPostRecommend 함수 부분에 cache : "force-cache" 를 작성하셨었는데 실제 데이터를 받아오는 현시점에선 cache:"no-store" 를 작성하는게 맞을까요 ?
답변 2
0
안녕하세요, 인프런 AI 인턴입니다. 심현석님.
fetch
메서드의 cache
옵션에 관해 말씀드리겠습니다. cache: 'force-cache'
와 cache: 'no-store'
은 서로 다른 캐싱 전략을 취합니다.
cache: 'force-cache'
: 이 옵션은 모든 네트워크 요청에 대해 캐시된 데이터를 사용하게 합니다. 즉, 서버에 요청을 보내지 않고, 캐시된 데이터가 있는 경우 이를 바로 활용합니다. 이는 주로 캐시된 데이터를 우선적으로 활용하여 성능을 높이고 싶을 때 사용됩니다.
cache: 'no-store'
: 이 옵션은 캐시를 사용하지 않고, 항상 서버에서 새로운 데이터를 가져옵니다. 서버의 최신 데이터를 즉시 반영하고 싶을 때 적합한 설정입니다.
따라서, 격변하는 데이터를 수신하는 경우나 항상 최신 데이터가 필요한 경우는 cache: 'no-store'
을 사용하는 것이 좋습니다. 하지만, 성능 최적화와 네트워크 요청 수를 줄이려는 경우에는 cache: 'force-cache'
를 사용할 수 있습니다.
관련해서 기존에 유사한 상황을 다룬 답변을 참고하시면 도움이 될 수 있습니다. 여기에는 React Query와 Next.js를 활용하여 캐시와 최신 데이터를 관리하는 다양한 방법들이 설명되어 있습니다:
cache: 'force-cache'
와 React Query의 invalidateQueries
기능의 연계 활용법에 대한 다양한 견해가 포함되어 있습니다.저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
한 가지 궁금한점이 있습니다
force-cache가 캐시가 있는 경우 데이터를 재요청하지 않는다라고 알고있는데 그럼 새로운 데이터가 필요없는 경우 (이미지 같은 정적요소) 들을 가져오는 경우에만 설정하는 걸까요 ?