인프런 커뮤니티 질문&답변
revalidateTag 에서 매개 변수가 하나 더 늘어서 질문합니다.
해결된 질문
작성
·
19
·
수정됨
0
안녕하세요. next.js 16 버전으로 해당 강의를 보며 달리고 있는데요.
revalidateTag 설정에서 파라미터 값이 하나 더 늘어나 있습니다.
revalidateTag(tag: string, profile: string | { expire?: number }): void;
tag 파라미터 뒤에 profile 파라미터를 넣어야 하네요.
기본적으로는 'max' 값을 넣었고, expire로 사용자 지정 만료 동작을 위한 값을 지정하게 되어 있습니다.
이것이 구체적으로 어떤 매개변수인지 궁금합니다.
그리고 이전의 tag 파라미터만 있을 경우 와 같은 조건의 매개변수 값은 어떻게 되는지 알고 싶습니다.
답변 1
1
안녕하세요 Codingbear님 이정환입니다.
아래 링크로 첨부드린 공식문서를 통해 살펴보니 말씀하신대로 profile 이라는 이름의 인수를 하나 더 전달해야 하는 방식으로 변경되었네요
https://nextjs.org/blog/next-16#improved-caching-apis
profile 인수로 전달할 수 있는 값의 종류는 아래와 같다고 합니다.

인수의 종류를 자세히 살펴보니, 특정 태그가 설정된 데이터 페칭을 매 시간(hours)이나 매 주(weeks) 등으로 주기적으로 갱신시킬 수 있는 기능이 추가된 것으로 보입니다.
Next.js 15 버전에서의 revalidateTag의 역할과는 다소 차이가 생긴걸로 보여요! 이에 추가로 더 찾아보니 Next.js 16 버전에서는 updateTag 라는 신규 API가 추가되어 기존의 revalidateTag의 역할을 대신 한다고 합니다.

https://nextjs.org/docs/app/api-reference/functions/revalidateTag#usage
결론적으로 Next.js 16 환경에서는 우리 강의에서 처럼 특정 태그를 갖는 데이터 캐시를 바로 만료시키기 위해서는 revalidateTag 대신에 updateTag를 사용해야 될 것으로 보입니다!





오! 답변 감사합니다.
revalidateTag(tagName, 'max')로 했더니 데이터 캐시가 갱신되지 않더라구요..그래서
revalidateTag(tagName, {expire: 0})으로 데이터 캐시 갱신했었는데..updateTag 로 사용해 봐야 겠네요..