[Next.js] (8) - Data Cache
2024. 11. 12. 06:41ใfront-end/Next.js
728x90
๐ Data Cache
- fetch ๋ฉ์๋๋ฅผ ํ์ฉํด ๋ถ๋ฌ์จ ๋ฐ์ดํฐ๋ฅผ Next์๋ฒ์์ ๋ณด๊ดํ๋ ๊ธฐ๋ฅ
- ์๊ตฌ์ ์ผ๋ก ๋ฐ์ดํฐ ๋ณด๊ด, ํน์ ์๊ฐ์ ์ฃผ๊ธฐ๋ก ๊ฐฑ์ ์ํค๋ ๊ฒ ๊ฐ๋ฅ
- ๋ถ ํ์ํ ๋ฐ์ดํฐ ์์ฒญ ์๋ฅผ ์ค์ฌ์ ์น ์๋น์ค์ ์ฑ๋ฅ ํฌ๊ฒ ๊ฐ์ ๊ฐ๋ฅ
const response = await fetch('/api',{ cache: "force-cache" });
//์์ฒญ์ ๊ฒฐ๊ณผ๋ฅผ ์บ์ฑํจ, ํ ๋ฒ๋ง ๋ถ๋ฌ์ด
//next.js ์์ fetch ๋ผ๋ ๋ฉ์๋๋ง ์ฌ์ฉํด์ผํจ
const response = await fetch('/api',{ cache: "no-store" });
//๋ฐ์ดํฐ ํ์นญ์ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ์ง ์๋ ์ต์
//์บ์ฑ์ ์์ ํ์ง ์๋๋ก ์ค์ ํ๋ ์ต์
const response = await fetch('/api',{ next: { revalidate: 3 } });
//Page Router์ ISR ๊ธฐ๋ฅ๊ณผ ์ ์ฌํจ
//ํน์ ์๊ฐ์ ์ฃผ๊ธฐ๋ก ์บ์๋ฅผ ์
๋ฐ์ดํธ
const response = await fetch('/api',{ next: { tag: ['a'] } });
//On-Demand Revalidate
//์์ฒญ์ด ๋ค์ด์์ ๋ ๋ฐ์ดํฐ๋ฅผ ์ต์ ํ ํจ
- next ํด์ ์ ์ ์ฅ๋ cache ๋ฐ์ดํฐ ํ์ธ ๊ฐ๋ฅ
- nextConfig ํ์ผ์ logging, fetches ๊ฐ์ ์ถ๊ฐํด์ฃผ๋ฉด ์๋ฒ ๋ก๊น ๊ฐ๋ฅ (ex: cahce skip)
const nextConfig: NextConfig = {
/* config options here */
logging: {
fetches: {
fullUrl: true,
},
},
}
์ถ์ฒ: https://www.inflearn.com/course/%ED%95%9C%EC%9E%85-%ED%81%AC%EA%B8%B0-nextjs/dashboard
728x90
'front-end > Next.js' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Next.js] (10) - Full Route Cache(ํ ๋ผ์ฐํธ ์บ์) (0) | 2024.11.12 |
---|---|
[Next.js] (9) - Request Memoization (0) | 2024.11.12 |
[Next.js] (7) - Data Fetching (in App Router) (1) | 2024.11.11 |
[Next.js] (6) - Page Router ์ฅ๋จ์ (0) | 2024.11.11 |
[Next.js] (5) - ์ฌ์ ๋ ๋๋ง (SSR, SSG) (0) | 2024.11.05 |