>웹 프론트엔드 >JS 튜토리얼 >Next.js에서 API 엔드포인트 데이터가 캐시되는 것을 방지하는 방법은 무엇입니까?

Next.js에서 API 엔드포인트 데이터가 캐시되는 것을 방지하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-01 12:34:29505검색

How to Prevent API Endpoint Data From Being Cached in Next.js?

Next.js에서 API 엔드포인트 데이터가 캐시되는 것을 방지하는 방법

Next.js v13.2는 Route를 통해 새로운 앱 디렉토리를 사용합니다. 핸들러. 프로덕션 환경에서 프레임워크는 API 끝점 및 서버 구성 요소에서 가져온 데이터를 자동으로 캐시합니다. 백엔드 데이터가 업데이트되면 불일치가 발생할 수 있습니다.

해결책 1: 가져오기 옵션 수정

특정 가져오기 쿼리에 대한 캐싱을 비활성화하려면 재검증 또는 캐시 옵션을 다음에 추가하세요. fetch() 함수:

<code class="js">fetch('https://...', { next: { revalidate: 10 } }); // revalidate every 10 seconds
fetch('https://...', { cache: 'no-store' }); // no caching</code>

해결책 2: 경로 세그먼트 구성 사용

다른 라이브러리(예: axios, ORM)와 함께 사용하거나 경로 세그먼트 캐시 설정, 경로 세그먼트 구성 활용을 고려하십시오:

<code class="js">// layout.js, page.js, or route.js

import prisma from './lib/prisma';

/*
  Force dynamic behavior, there are more options available depending on your requirement.
*/
export const dynamic = "force-dynamic";

async function getPosts() {
  const posts = await prisma.post.findMany();
  return posts;
}

export default async function Page() {
  const posts = await getPosts();
  // ...
}</code>

위 내용은 Next.js에서 API 엔드포인트 데이터가 캐시되는 것을 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.