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
}

المرجع

يحتوي كائن التكوين على قيم رئيسية بالشكل التالي:

الخاصيةالقيمةالوصفالمتطلبات
stalenumberالمدة التي يجب أن يخزن فيها العميل القيمة دون التحقق من الخادم.اختياري
revalidatenumberالتكرار الذي يجب أن يتم تحديث التخزين المؤقت به على الخادم؛ يمكن تقديم قيم قديمة أثناء إعادة التحقق.اختياري
expirenumberأقصى مدة يمكن أن تظل فيها القيمة قديمة قبل التحول إلى الديناميكية.اختياري - يجب أن تكون أطول من revalidate