Auto-refreshISR

Incremental Static Regeneration

This page regenerates every 2 minutes. It combines the speed of static pages with the freshness of dynamic content.

Generated:2026-03-01T07:38:11.283Z
Next update:2026-03-01T07:40:11.283Z

How ISR Works

1

Initial Build

Page is pre-rendered at build time

2

Serve Cached

Cached version served to users

3

Revalidate

After 2 min, page regenerates

4

Update Cache

New version replaces old cache

Product Catalog

Premium Widget 1
Electronics
3.7

Premium Widget 1

High-quality widget designed for everyday use with premium materials and excellent durability.

$153.62In Stock
Classic Gadget 2
Out of Stock
Clothing
4.1

Classic Gadget 2

High-quality gadget designed for everyday use with premium materials and excellent durability.

$194.34
Modern Device 3
Out of Stock
Books
3.2

Modern Device 3

High-quality device designed for everyday use with premium materials and excellent durability.

$101.18
Essential Tool 4
Out of Stock
Home
3.5

Essential Tool 4

High-quality tool designed for everyday use with premium materials and excellent durability.

$83.06
Deluxe Item 5
Sports
3.1

Deluxe Item 5

High-quality item designed for everyday use with premium materials and excellent durability.

$154.07In Stock
Premium Widget 6
Electronics
4.5

Premium Widget 6

High-quality widget designed for everyday use with premium materials and excellent durability.

$57.48In Stock
Classic Gadget 7
Out of Stock
Clothing
4.3

Classic Gadget 7

High-quality gadget designed for everyday use with premium materials and excellent durability.

$27.53
Modern Device 8
Books
4.9

Modern Device 8

High-quality device designed for everyday use with premium materials and excellent durability.

$108.75In Stock

Code Example

// Set revalidation period (in seconds)
export const revalidate = 120; // 2 minutes

export default async function ISRPage() {
  // This data will be fetched at build time
  // and revalidated every 2 minutes
  const products = await fetchProducts();
  
  return <ProductGrid products={products} />;
}

// You can also use revalidatePath() or revalidateTag()
// for on-demand revalidation via API routes