cacheLife
خيار cacheLife
يسمح لك بتعريف ملفات التخزين المؤقت المخصصة عند استخدام دالة cacheLife
داخل المكونات أو الدوال، وفي نطاق توجيه use cache
.
الاستخدام
لتعريف ملف تخزين مؤقت، قم بتمكين علامة dynamicIO
وأضف ملف التخزين المؤقت في كائن cacheLife
داخل ملف next.config.js
. على سبيل المثال، ملف blog
:
import type { NextConfig } from 'next'
const nextConfig: NextConfig = {
experimental: {
dynamicIO: true,
cacheLife: {
blog: {
stale: 3600, // ساعة واحدة
revalidate: 900, // 15 دقيقة
expire: 86400, // يوم واحد
},
},
},
}
export default nextConfig
module.exports = {
experimental: {
dynamicIO: true,
cacheLife: {
blog: {
stale: 3600, // ساعة واحدة
revalidate: 900, // 15 دقيقة
expire: 86400, // يوم واحد
},
},
},
}
يمكنك الآن استخدام هذا التكوين المخصص blog
في مكونك أو دالتك كما يلي:
import { unstable_cacheLife as cacheLife } from 'next/cache'
export async function getCachedData() {
'use cache'
cacheLife('blog')
const data = await fetch('/api/data')
return data
}
import { unstable_cacheLife as cacheLife } from 'next/cache'
export async function getCachedData() {
'use cache'
cacheLife('blog')
const data = await fetch('/api/data')
return data
}
المرجع
يحتوي كائن التكوين على قيم رئيسية بالشكل التالي:
الخاصية | القيمة | الوصف | المتطلبات |
---|---|---|---|
stale | number | المدة التي يجب أن يخزن فيها العميل القيمة دون التحقق من الخادم. | اختياري |
revalidate | number | التكرار الذي يجب أن يتم تحديث التخزين المؤقت به على الخادم؛ يمكن تقديم قيم قديمة أثناء إعادة التحقق. | اختياري |
expire | number | أقصى مدة يمكن أن تظل فيها القيمة قديمة قبل التحول إلى الديناميكية. | اختياري - يجب أن تكون أطول من revalidate |