← all articles

Two caches, one invalidation (edited 16:14:52)

Varnish holds the API responses, Next.js holds the rendered routes.

Saving a node has to reach both. Varnish gets a BAN keyed on the tag; Next.js gets a webhook that maps the tag back to the routes that depend on it. Miss one and the site shows two different versions of the truth depending on which cache answered.


data fetched at2026-08-09T16:14:53.867Z
content changed2026-08-09T16:14:52.000Z
page rendered at2026-08-09T16:30:47.541Z
Drupal cache tagsnode:2
route tagdrupal_250f1b896c851301
VarnishX-Cache: MISS
rendered bynextjs-856c764f7f-xs62t

This page depends on node:2 and nothing else. Saving a different node must not change the “rendered at” stamp above.