Skip to content

CodingThailand's Blog

by โค้ชเอก

Menu
  • About Me
Menu

การใช้ฟังก์ชัน cacheLife ใน Next.js 16.x

Posted on 30/12/202530/12/2025 by โค้ชเอก

การใช้ฟังก์ชัน cacheLife ใน Next.js 16.x (ฟีเจอร์ CacheComponents)

.

ฟังก์ชัน cacheLife ใช้สำหรับกำหนดอายุการเก็บแคช (cache lifetime) ของฟังก์ชันหรือคอมโพเนนต์ โดยใช้ร่วมกับคำสั่ง use cache และต้องอยู่ภายในขอบเขตของฟังก์ชันหรือคอมโพเนนต์นั้นเท่านั้นครับ

.

ตัวอย่างคำสั่ง:

‘use cache’

import { cacheLife } from ‘next/cache’

export default async function BlogPage() {

cacheLife(‘days’) // Blog content updated daily

const posts = await getBlogPosts()

return <div>{/* render posts */}</div>

}

.

จากโค้ดเป็นการ cache BlogPage ด้วยการใช้ฟังก์ชัน cacheLife โดยมีการส่งพารามิเตอร์ คือ days เรียกว่า cache profiles หมายถึง

– ผู้ใช้จะได้เนื้อหาจาก cache ทันที (ฝั่ง client) เป็นระยะเวลา 5 นาที ก่อนที่จะตรวจสอบการกับฝั่ง server เพื่ออัปเดตใหม่ (stale)

– หลังครบ 1 วัน หากมี request ครั้งถัดไปจะเริ่มมีการรีเฟรชเบื้องหลัง (revalidate)

– หากไม่มีคำร้องขอเลยจนถึง 1 สัปดาห์ข้อมูลแคชจะถือว่า “หมดอายุ” และคำร้องขอครั้งถัดไปจะต้องรีสร้างก่อนส่ง (expire)

.

การใช้โปรไฟล์ Cache สำเร็จรูป (Preset cache profiles)

โปรไฟล์แคช (Cache profiles) จะควบคุมพฤติกรรมการแคชของระบบ Next.js ผ่านคุณสมบัติด้านเวลา 3 ค่า ได้แก่

1. stale: ระยะเวลาที่ฝั่ง client สามารถใช้ข้อมูลในแคชได้ โดยไม่ต้องตรวจสอบกับ server ใหม่

2. revalidate: เมื่อเวลานี้ผ่านไป เมื่อมี request ครั้งถัดไปจะกระตุ้นให้ server ทำการรีเฟรชข้อมูลในพื้นหลัง (background refresh)

3. expire: เมื่อเวลานี้ผ่านไปโดยไม่มีการร้องขอใด ๆ การร้องขอครั้งถัดไปจะต้องรอให้ server สร้างข้อมูลใหม่ก่อนจึงจะส่งกลับมา

.

ทุกคนสามารถดูตามภาพตาราง และเลือกให้เหมาะสมกับงานของตัวเองได้เลยนะครับ จริงๆ แล้วนอกจาก preset ที่ Next.js เตรียมไว้ให้ เรายังสามารถ custom แบบละเอียดได้ด้วยนะครับ

Category: Uncategorized

ใส่ความเห็น ยกเลิกการตอบ

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  • .NET
  • Android
  • Angular
  • Angular 2
  • Coding
  • CSS
  • Database
  • Editor
  • Flutter
  • Git
  • HTML5
  • Ionic 2
  • Ionic 4
  • Ionic Framwork
  • JavaScript
  • Laravel
  • Laravel 5
  • Node.js
  • PHP
  • PHP 7
  • Plugins
  • React
  • React Native
  • Template
  • Tools
  • TypeScript
  • UI
  • Uncategorized
  • Vue.js
  • XAMPP
  • Yii
  • คอร์สเรียน
  • แรงบันดาลใจ
  • มกราคม 2026
  • ธันวาคม 2025
  • กรกฎาคม 2025
  • เมษายน 2025
  • พฤศจิกายน 2024
  • ตุลาคม 2024
  • เมษายน 2020
  • กุมภาพันธ์ 2020
  • สิงหาคม 2019
  • กันยายน 2018
  • สิงหาคม 2018
  • กุมภาพันธ์ 2018
  • พฤศจิกายน 2017
  • ตุลาคม 2017
  • สิงหาคม 2017
  • กรกฎาคม 2017
  • เมษายน 2017
  • ตุลาคม 2016
  • สิงหาคม 2016
  • พฤษภาคม 2016

.NET android Angular Angular 2 Atom Coding Coding Standard CSS CSS 3 Datepicker extensions Git HTML HTML5 Ionic2 JavaScript Laravel5 laravel 5.5 MariaDB Material Design MySQL Node.js npm PHP PHP7 plugins PouchDB recaptcha Restful sail.js template typescript typscript XAMPP Yii2

© 2026 CodingThailand's Blog | Powered by Minimalist Blog WordPress Theme