01. 基本的な use cache
「use cache」ディレクティブの3つのレベル(ファイル、コンポーネント、関数)を理解しましょう。
ファイルレベルキャッシュ
"use cache";
// このファイル全体がキャッシュされます
async function getData() {
return {
timestamp: new Date().toISOString(),
value: Math.random(),
};
}
export default async function Page() {
const data = await getData();
return <div>{data.timestamp}</div>;
}実行結果
HIT
- 2026-09-01T00:39:18.741Z
- 0.015931
💡 ページをリロードしても、同じタイムスタンプとランダム値が表示されます。 これはページ全体がキャッシュされているためです。
⚠️ 重要な動作
コンポーネントレベルキャッシュ
// コンポーネントレベルのキャッシュ
async function CachedComponent() {
"use cache";
const data = await fetchData();
return <div>{data.value}</div>;
}
export default function Page() {
return (
<div>
<CachedComponent /> {/* このコンポーネントだけキャッシュ */}
</div>
);
}使用ケース
関数レベルキャッシュ
// 関数レベルのキャッシュ
async function getCachedData() {
"use cache";
return await fetchExpensiveData();
}
export default async function Page() {
const data = await getCachedData(); // この関数の結果がキャッシュ
return <div>{data}</div>;
}使用ケース
✅ ベストプラクティス
次のステップ