WordPress Full-Page Cache ­with­ Surgical Control

In-memory caching powered by Redis or ValKey. Built for scaling WordPress sites and networks, driven by Rules and Flags.

MilliCache
Full-Page Cache
Served by
~ ms
0ms Response Time (TTFB) 2s

Get MilliCache

Free and open source. Install via Composer, WP-CLI, or download the ZIP directly.

Direct Download

Download the latest release as a ZIP file.

WP-CLI

Install and activate with a single command.

Composer

Install as a Composer dependency.

Using Bedrock or Radicle? There's an Acorn package for deeper integration.

Flag-Based Cache Management

Tag cached pages with flags, then clear related entries with a single command. No more all-or-nothing cache purges.

Custom Flags

Built-in flags work automatically. Create custom flags when you need control over specific relationships.

Learn more

Wildcard Patterns

Target groups of content with patterns like post:*. Clear hundreds of entries with one command.

Learn more

Multisite & Networks

Each site gets isolated flags. Clear one site, a subset, or an entire network — with full control.

Learn more
MilliCache Pro

Invalidation that understands the Block Editor

MilliCache Pro maps which pages depend on which blocks. Edit one synced pattern or template and only the pages that render it are cleared, never the whole cache.

Query & dynamic blocks

Pages embedding Query or Latest Posts blocks are tracked. When their underlying content changes, exactly those pages refresh.

Synced patterns

Save a reusable pattern and every page using it clears automatically. Pages without it stay warm and untouched.

FSE templates & parts

Edit a Site Editor template and only the pages it renders are cleared; change a global header part and everything using it refreshes.

+ Call to action
Synced pattern

Only the pages using this pattern were cleared. The rest of the cache stayed warm.

Rules Automate Your Cache Strategy

A fluent API to configure what gets cached, how long it lives, and exactly when to clear it. Hook into any event, use any condition, trigger any action.

When This, Then Cache

Like smart home automation for your cache. Define the rules, and let them handle the rest — automatically.

Learn more

Surgical Precision

Highest flexibility with Rules & Flags. Define exactly what gets cached, for how long, and what triggers a purge.

Learn more

Extensible by Design

Built-in support for any WordPress hook, is_*() and has_*() conditionals. Need custom logic? Easy!

Learn more
MilliCache Pro

The Rules Engine: Visual & Interactive

Everything the code Rules API can do, but from your Dashboard. Build conditions & actions, reorder, toggle, and safely override rules registered in code.

Visual condition builder

Search WordPress conditionals, combine them, target templates and previews. No PHP required.

Override code rules safely

User rules layer on top of code-registered ones, with override badges showing exactly what wins and why.

Site & network scope

Manage rules per site, or network-wide from the network admin. Each scope keeps its own ordered, prioritised list.

The MilliCache Pro rules editor in the WordPress network admin, showing rule cards with condition chips, priorities and override badges
The Rules tab in the network admin. Condition chips, priorities, and override badges over code-registered rules.

Built for Scale

From single server to global edge caching. ­MilliCache grows with your requirements and infrastructure.

Single Server

One WordPress instance with Redis or Valkey. The simplest setup that delivers dramatic speed improvements.

  • Millisecond responses

    Cached pages served from memory, bypassing WordPress

  • Better Core Web Vitals

    Faster TTFB improves SEO rankings and user experience

  • Stale-while-revalidate

    Visitors never wait — serve stale, regenerate in background

Faster responses and more concurrent requests from one server.

Horizontal Scaling

Multiple web servers can share the same cache.
Add servers without cache fragmentation.

  • Shared cache state across servers

    All servers access the same cache—no duplication

  • Multisite & multi-network support

    Scale WordPress networks across server farms

  • Load balancer ready

    Works seamlessly with any load balancing solution

Perfect for high-traffic sites and enterprise deployments.

Edge Caching

A MilliCache Pro module for global edge caching. MilliCache manages the origin cache while bunny.net or Cloudflare serve your pages at the edge. Instant purge propagation.

  • Global performance

    Serve pages from edge locations closest to your users

  • Scale with ease

    Global scalability while keeping infrastructure simple

  • Automatic edge management

    MilliCache invalidation propagates to all CDN edge nodes

Global scalability without infrastructure complexity.

User 1
User 2
User 3
App Server
WordPress
stand-by serving regenerate
Redis/Valkey
inactive connecting stand-by serving stale storing
Without cache → With MilliCache No Cache — Every request hits WordPress & Database Cache MISS — First request stores result in Redis Cache HIT — Multiple users served instantly from Redis Cache STALE — Serve fast, regenerate in background
No Cache
Cache HIT
Load Balancer
routing
App Server 1
MilliCache
App Server 2
MilliCache
+n
Server n...
add more
Cache Server
Redis / Valkey
🇺🇸 User
🇪🇺 User
🇯🇵 User
CDN Edge Network
🇺🇸
US East POP
~15ms
🇪🇺
Europe POP
~12ms
🇯🇵
Asia POP
~18ms
Edge-Cached:
Full HTML pages
Images & media
CSS & JavaScript
API responses
Origin
MilliCache
Fast edge responses
Rare origin fetch
MilliCache Pro

Fast everywhere: Edge Cache and CDN assets

Two independent modules for global delivery, doing two different jobs: the Edge Cache serves your pages from the edge, the CDN module offloads your static assets.

Edge Cache: your pages

Full pages mirrored to the edge, carrying the same cache flags as Redis. Edit a post and both origin and edge clear surgically via tag-based purges, with no stale edge copies. On networks, tags are prefixed per site.

Supports bunny.net and Cloudflare today. More following.

CDN: your static assets

CSS, JS, images and fonts point at your CDN hostname, baked into the cached HTML at write time. Cache hits pay zero rewrite cost, and your server stops serving bytes a CDN handles better.

Works with any CDN that pulls from your origin.

Run either module on its own, or combine them so pages come from the edge cache while assets ship from your CDN, even across different providers. Configure both once for the whole network.

MilliCache Pro

Never serve a cold cache

After every clear, Pro rebuilds the cache itself, so the first visitor is just as fast as the millionth.

Sitemap preloading

After a full clear, every URL in your XML sitemap is fetched and cached in the background, nested sitemaps included.

Publish-aware warming

Hit Publish and Pro re-warms exactly what changed: the page itself plus the archives it appears on. Nothing more.

Throttled background jobs

Preloads run as scheduled background jobs, a few URLs at a time, so your visitors never compete with the preloader.

Visitors never hit a cold page. The preloader already did.

MilliCache Pro

Object Cache included: same storage, zero setup

A persistent Object Cache drop-in that reuses the Redis your Page Cache already runs on. One backend, one lifecycle, no extra plugin.

One storage for everything

Pages and objects share the same Redis store and credentials. No second service to provision, monitor or pay for.

Fast where the Page Cache stops

Database queries and computed values come from memory, speeding up the Dashboard, logged-in users and every request the Page Cache skips.

Managed lifecycle

Installed, cleared and updated together with the page cache. Detects foreign drop-ins and never overwrites another plugin's file.

Object Cache

Speeds up WordPress itself. Whenever WordPress runs, it looks up options, query results and objects. The Object Cache serves that data from Redis instead of MySQL.

  • Fast where the Page Cache stops

    The Dashboard, logged-in users and bypassed requests always run WordPress

  • Data from memory

    Repeated lookups skip MySQL and return in microseconds

  • Zero setup with Pro

    One toggle. It reuses the Redis your Page Cache already runs on

Watch the editor's request: with the Object Cache ON, MySQL sits mostly idle.

Page Cache

Speeds up your site for visitors. The finished HTML page is stored in Redis and served before WordPress even starts.

  • Whole pages from memory

    No PHP, no MySQL: millisecond responses for every cached request

  • Every visitor benefits

    Any request that hits an already cached page is served instantly

  • The free core

    Full-page caching is MilliCache's open-source foundation

Watch the visitor's request: after the first build, Redis answers directly.

Visitor
front end
App Server
WordPress
stand-by building serving
Redis/Valkey
connecting objects
MySQL
stand-by mostly idle
Editor
/wp-admin
The Object Cache stores the data WordPress works with Dashboard, logged-in & bypassed requests: every lookup asks MySQL Object Cache ON: options, queries & objects come from Redis
MySQL only
Object Cache
Visitor
front end
App Server
WordPress
stand-by building serving
Redis/Valkey
inactive connecting pages serving
MySQL
stand-by
Editor
/wp-admin
The Page Cache stores the finished page No cache: WordPress builds the page, every lookup queries MySQL Page Cache HIT: the finished page straight from Redis
No Cache
Cache HIT
MilliCache Pro

See exactly what's cached, and why

A cache you can look inside: browse every entry with its flags and variants, and watch real detailed traffic charts. On multisite, both work across the whole network.

Cache entry browser

Search by URL, title or flag pattern, wildcards included. Filter by content type, site or compression, and delete entries one by one or in bulk.

Variant & meta inspection

Every entry shows its flags, TTL, grace period, size, headers and compression, with variants grouped so you see what's really stored.

Metrics & REST endpoint

Requests, bandwidth and response times charted over configurable retention windows, network-wide on multisite, and exposed via REST for your own dashboards.

MilliCache Pro metrics dashboard showing requests served and response time charts, with cached responses at 4.2 ms versus 361.2 ms uncached
Requests and response times, network-wide. Cache hits are ~86x faster than generating the page.
MilliCache Pro cache entry browser listing cached pages with flag chips, cache age, expiry, size and variants
Every cached page with its flags, age, expiry and variants. Search, filter, and delete in bulk.

Developer Experience

WP-CLI commands, extensive hooks, and debug tools. Everything you need for precise cache control.

Stale-While-Revalidate

 1// Stale-While-Revalidate: Serve expired content
 2// while regenerating fresh content in the background.
 3// Prevents cache stampedes on high-traffic pages.
 4
 5Rules::create('high-traffic-pages')
 6    ->when_any()
 7        ->is_front_page()
 8        ->is_post_type_archive('product')
 9    ->then()
10        // Cache for 5 minutes
11        ->set_ttl(MINUTE_IN_SECONDS * 5)
12        // But allow stale content for up to 1 hour
13        // while fresh content regenerates
14        ->set_grace(HOUR_IN_SECONDS)
15    ->register();

Full WP-CLI Control

$
$
AI-friendly — Claude, Copilot & Cursor can run these

Debug Headers

X-MilliCache-* headers show cache status, flags, and keys. Our browser extension makes debugging a breeze.

REST API

/millicache/v1/* endpoints for cache control, status checks, and settings — ideal for CI/CD and monitoring.

Extensive Hooks

millicache_flags_for_request, millicache_cache_cleared and 25+ other hooks for complete customization.

Flexible Config

PHP constants, config files, Settings UI, or WP-CLI. All write to version-controllable files.

Smart Invalidation

Cache clears automatically when posts, menus, or theme settings change. No manual purging needed.

Open Source

GPL-2.0+ licensed. Audit the code, contribute, or fork. No vendor lock-in.

MilliCache Pro

And more in Pro

The rest of what a Pro license unlocks, from enterprise Redis topologies to a licensing model that respects your time.

Sentinel & replica topologies

Connect to Redis master/replica sets or Sentinel clusters with per-node credentials and persistent connections.

Composer support

Require MilliCache Pro like any other dependency via our private Composer repository. Built for Bedrock and CI deploys.

Instant updates

Update from the WordPress dashboard automatically or in one click the moment a release ships.

Priority support

Direct, prioritised email support from the people who build MilliCache, not a ticket queue.

Bundles the free core

Pro ships the open-source engine inside and deactivates the free copy automatically. No migration, no duplicate plugins.

Modular by design

Every Pro capability is its own module. Enable only what you need; everything else stays out of the request path.

Why Redis?

File-based caching works — until you need more.

One Cache, All Servers

Load-balanced? Every server shares the same cache. No cold starts, no duplicated work.

Smart Invalidation

Redis Sets let you tag cache entries. Update a product? Clear only pages showing that product.

Built for Scale

Redis Cluster, Sentinel, persistence. Enterprise-grade infrastructure you already know.

"We run 7 sites on a single origin server — WordPress, MySQL, Redis, all on one machine. We backed MilliCache Pro early to get edge integration, and went from 1s+ to 50ms response times worldwide. Traffic spikes from any region just hit the CDN."
new7wonders.com • WordPress Multisite
Coming soon

MilliCache Pro

MilliCache already makes WordPress fast. For higher demands, Pro is the logical completion: every feature above in a single plugin.

Common Questions

How is this different from object caching in WordPress?

Object caching stores database query results and computed data in memory, so pages build faster whenever WordPress runs. MilliCache is a full-page cache: it stores the finished HTML and serves it straight from Redis, skipping WordPress and the database entirely. They're complementary layers, and with MilliCache Pro you get both from a single plugin: its Object Cache drop-in reuses the same storage your page cache already runs on.

Do I need Redis? Does it work with my hosting?

Yes, MilliCache requires Redis, Valkey, Dragonfly, or any compatible backend. File-based caching doesn't support the shared cache needed for horizontal scaling or the atomic operations for flag-based clearing. Most managed WordPress hosts like WP Engine, Kinsta, Cloudways, Ploi.io and GridPane include Redis. Self-hosted? DigitalOcean, AWS, or any VPS where you control Redis configuration works perfectly.

When is MilliCache Pro available?

Very soon: MilliCache Pro ships in July 2026, only days from now. The full feature story is already on this page, and launch comes with introductory launch pricing for the first year. Join the newsletter in the MilliCache Pro section above and you'll know the moment it goes live.

Will this plugin spam my dashboard with notifications?

No. No admin notices fighting for your attention, no dashboard banners, no cross-selling other plugins. The only mention of Pro is a single small line below the cache statistics on MilliCache's own settings page, and that's where it stays. Just clean, focused cache control with WP-CLI tools for automation.