100% Free, No Pro Tier Zero Configuration Redis + Relay Support Fails Safe WooCommerce-Aware

NibbleCache ‑ 'Zero-Config Object Cache for Redis, Relay, Memcached & APCu'

Every WordPress page re-asks the database the same questions, over and over. NibbleCache detects and benchmarks whichever cache backend your server actually has, connects with zero configuration, and fails safe instead of taking your site down if that backend ever goes offline.

GPLv2 · WordPress 6.0+ · PHP 7.4+ · No account or license key needed

On this page
Why Caching Matters

WordPress Asks Its Database the Same Questions, Over and Over

A single page load can trigger dozens of database queries: the same post, the same menu, the same widget settings, fetched fresh every single time a visitor arrives.

⚠ Without Object Caching
Every page load re-queries the database for content that was already fetched moments ago. Traffic spikes turn into database load, and database load turns into a slow or unresponsive site. A brief Redis or Memcached hiccup, on plugins that assume it's always there, can take the whole site down with it.

NibbleCache helps by remembering the answer in memory so WordPress doesn't have to ask the database again. It detects the fastest backend your server actually has, benchmarks it for real, and fails safe automatically if it ever goes offline.

💡 It's not just the website that gets faster. Every plugin and theme on your site that uses standard WordPress functions like get_option() or get_transient(), which is nearly all of them, automatically benefits too, with zero changes needed on their end. Fewer database queries per page means less CPU, I/O, and process load on your account, leaving more of your shared hosting plan's limited resources available for real visitor traffic. In short, NibbleCache speeds up WordPress at the source, by cutting the database work every page load depends on, not by masking it with a page cache layered on top. That means faster page loads for visitors, and more of your server's resources left free for the traffic that matters most.

Typical Setup, No Object Cache

  • Every page load re-queries the database from scratch
  • Traffic spikes directly stress the database
  • A cache outage on other plugins can crash the whole site
  • Most plugins require manually finding a socket path and picking a serializer
  • One misbehaving plugin's cache flush silently wipes out every other plugin's cached data too
  • Switching cache backends can serve stale, outdated data with no warning
  • High-traffic store data (cart sessions, filter counts) gets treated the same as everything else, adding unnecessary overhead

With NibbleCache

  • Repeat lookups served from memory in under a millisecond
  • Detects and benchmarks the fastest real backend on your server
  • A circuit breaker routes around outages automatically
  • Zero configuration, nothing to set up by hand
  • Flags an abnormal flush pattern automatically, naming the plugin responsible
  • Automatically clears stale data whenever the cache backend changes
  • WooCommerce cart sessions and filter counts excluded from unnecessary overhead by default
🔌 What is NibbleCache?

A Free, Zero-Config Object Cache That Fails Safe

NibbleCache is a clean, focused WordPress object cache plugin that automatically detects and benchmarks whichever cache backend your server actually has, including Redis, Relay, Memcached, or APCu, and uses the fastest one, with nothing for you to configure.

It wraps every backend call in a circuit breaker, so a brief outage degrades your site gracefully instead of taking it down, and it implements WordPress's complete object-cache API properly: real pipelined batch operations, atomic writes, non-blocking commands, and tag-based invalidation wired to posts, terms, comments, and WooCommerce.

It also looks after itself: it automatically clears out stale data if your server's cache backend ever changes, and it can spot an abnormal flush pattern from a misbehaving plugin and flag exactly which one is responsible. For WooCommerce stores specifically, high-churn data like cart sessions and product filter counts is excluded from unnecessary overhead by default, verified against WooCommerce's own source code.

💡 Genuinely Free: Every feature on this page is included in the plugin at no cost. There is no separate Pro version, no license key, and no feature paywall. The only optional, external add-on is Bunny Database for multi-server sync, a third-party service with its own free tier.
🌐 Built for load-balanced and multi-region infrastructure too: On a large site running across several servers, each one keeps its own fast local cache. That's what actually serves your traffic, and it scales the same way a single-server cache does. Bunny Database's job is narrower but critical at that scale: keeping every server's cache honest by relaying invalidation events between them, typically within seconds. For genuinely global deployments, Bunny.net's own regional replication (configurable directly in your Bunny Database dashboard, with automatic latency-based primary-region selection) keeps that sync fast regardless of which region a given server sits in, so a cache flush on one continent doesn't lag behind on another.
🔐 How Detection Works

It Tries the Fastest Backend First, Automatically

On activation, NibbleCache checks every cache backend your host could plausibly offer, benchmarks whichever ones actually respond, and uses the fastest one, in this order:

01

Relay Preferred When Available

A PHP extension that speaks the same protocol as Redis but adds an in-memory layer on top, serving repeat reads with no network round trip at all. Most free object cache plugins don't support Relay.

02

Redis

Detected via every Unix socket path your host is likely to use, including CloudLinux CageFS and LiteSpeed Container conventions, plus TCP, with real benchmarked round trips deciding the winner.

03

Memcached

Used automatically if Redis and Relay aren't available on your host, with the same zero-configuration approach.

04

APCu Last Resort

A local, in-process fallback. If even this isn't available, NibbleCache installs nothing at all. Your site behaves exactly as if the plugin weren't there.

Key Features of NibbleCache

Built Like Infrastructure, Not a Checkbox Feature

Every one of these is live in the current version, not a roadmap item, and not gated behind a paid tier that doesn't exist.

1 Circuit Breaker Fail-Safe

If Redis or Memcached goes unreachable mid-request, whether from a restart or an OOM kill, NibbleCache trips an internal circuit breaker and quietly serves that request without the cache instead of hanging on a connection timeout.

  • No fatal error, no blank screen during a backend outage
  • Automatically resumes using the backend the moment it responds again
  • No process supervisor or server access required from you

2 Real Pipelined Batch Operations

get_multiple(), set_multiple(), delete_multiple(), and add_multiple() are genuine single-round-trip pipelined calls, not a loop dressed up as a batch, which is what most object cache plugins actually ship.

3 Atomic Operations, No Race Conditions

add() uses Redis and Relay's native NX flag, or Memcached's and APCu's own atomic primitives, so two concurrent requests can never both think they were first to write a key.

4 Proactive Cache Warming

Traditional object caches leave your server cold after a flush, forcing real visitors to suffer slow page loads while MySQL rebuilds the cache. NibbleCache solves this with a two-phase warming strategy that eliminates cold-start latency entirely.

  • In-Process Object Priming: Instantly pre-populates core options, recent posts, taxonomies, and postmeta into Redis using batched SQL queries.
  • Controlled HTTP Warming: Triggers safe background fetches for key site URLs before live traffic arrives.
  • Host-Safe Execution: Automatically respects hosting memory limits and caps HTTP concurrency to protect server resources.

5 Tag-Based Cache Invalidation

Wired to post, term, comment, and WooCommerce product events out of the box, with real atomic backend support behind it. It's also the mechanism the optional Bunny Database sync uses to keep multiple servers' caches consistent.

6 WooCommerce-Aware by Default

A busy store creates a different caching load than a typical site: every visitor, logged in or not, gets their own cart session, so thousands of distinct, short-lived entries can exist at once. NibbleCache automatically excludes the specific WooCommerce data that doesn't need a database backup copy, verified directly against WooCommerce's own source code, not guesswork.

  • Cart sessions (wc_session_*): safe to lose per visitor, and never mixed up between customers.
  • Product filter counts (wc_layered_nav_counts_*): one real, documented case saw this pattern alone responsible for 150MB/sec of database load on a busy store.
  • Variable product price caches (wc_var_prices_*): a lost entry costs one recalculation, never wrong pricing shown to a shopper.

On by default, with nothing to configure. Sites without WooCommerce simply never generate these keys, so it makes no difference either way.

7 Non-Blocking Commands, Scoped Flushes

Uses SCAN and UNLINK instead of the blocking KEYS and DEL commands that can stall a shared Redis instance for every site on it. Flushes are scoped to your own site's keys by default, not a blind full-database flush.

8 A Live Status Page, Not a Black Box

See exactly which backend is active, its benchmarked latency, live key counts, an estimated per-site memory usage figure, a random sample of what's actually cached, and hit/miss stats for the current page load.

9 Optional Bunny Database Multi-Server Sync

Running on more than one server behind a load balancer? Connect Bunny Database and every server's cache stays in sync automatically.

  • Typically syncs within a minute, plus an hourly safety net for quiet servers
  • Table, indexes, and old-row cleanup are all created and maintained automatically
  • A "Sync this server now" button for on-demand confirmation
  • For global deployments, Bunny.net's own regional replication (configured in your Bunny Database dashboard) keeps sync fast no matter which region a server sits in
  • Required for this to work at all: every server behind your load balancer needs NibbleCache installed, active, and connected to this same Bunny Database, not just one of them

10 One-Click Debug Logging

Turn on a detailed activity log covering backend detection results, connection failures, and sync activity, directly from the status page. No wp-config.php editing required, and it's capped at 100KB so it never becomes a performance problem of its own.

11 Never Clobbers Another Cache Plugin

If another plugin already controls object-cache.php, NibbleCache detects that on activation and leaves it alone entirely, with a clear notice explaining why it's inactive.

This check runs every time detection runs, not just on first install, so it's safe to try NibbleCache alongside an existing setup without risk of silently overwriting something that's already working.

12 Persistent Connections, igbinary Serialization

Connects persistently by default and automatically serializes with igbinary when available, for smaller, faster-to-handle cached values.

The serialization decision is made once, at detection time, and stored so every process reads and writes it the same way, including WP-CLI, cron jobs, and hosting-panel tools that often run under a different PHP binary than your site's normal one. A process that can't match the stored decision safely runs uncached for that one request instead of risking corrupted cache data.

13 Manual Flush and Re-Detect Controls

Zero-config doesn't mean zero control. "Flush object cache" and "Re-run detection" buttons sit right on the status page for the moments you want to force something rather than wait for it.

  • Flush clears only this site's own keys, even on a Redis instance shared with other sites
  • Re-detection also runs automatically the next time an admin loads wp-admin after a plugin update, so the drop-in stays in sync without needing to remember this button exists
⚙ How NibbleCache Protects Performance

What Happens on a Page Load

No dashboard tour required. This is the entire mental model.

01

WordPress asks for something

A post, an option, a menu, anything normally fetched from the database.

02

Memory is checked first

Already cached? Returned in under a millisecond, no database query at all.

03

A miss falls through safely

Not cached yet? WordPress fetches it normally and NibbleCache stores it for next time.

04

An outage never breaks the page

Backend unreachable? The circuit breaker routes around it, and the page still loads.

📊 Why "Free" Doesn't Mean "Basic" Here

NibbleCache vs. Typical WP Object Cache Plugins

There's no paid tier of NibbleCache holding features back. This is what installing it actually gets you.

CapabilityNibbleCacheTypical Free PluginsTypical Premium Add-ons
Auto-detects and benchmarks the fastest backendChecks extension exists
Relay support (in-memory acceleration)Rare, often extra-cost
Circuit breaker fail-safe on backend outageSometimes
Real pipelined batch operationsOften loops, not real batches
Atomic add() (no race conditions)Frequently not atomicVaries
Tag-based invalidation + WooCommerce hooks
WooCommerce-aware dual-write exclusionsRare, usually manual
Proactive post-flush object cache warmingRare / Page cache only
Multi-server cache sync for load-balanced setupsOften a separate paid add-on
High-concurrency & enterprise site architectureUnstable at scaleVaries
One-click debug logging, no config editingVaries
Ads or upsell nagsNoneCommonN/A
PriceFreeFreeSubscription or one-time fee
💡 One honest note on Bunny Database: the optional multi-server sync feature connects to Bunny Database, a third-party service with its own free tier. The "Create a free account" link inside the plugin is our affiliate link. Bunny.net pays us a referral reward if you sign up through it, at no extra cost to you, clearly disclosed on that screen too. Every core caching feature works fully without ever touching Bunny Database.
🚀 Getting Started

Install It and You're Already Done

This is genuinely the whole setup process. There isn't a hidden second step.

Install and Activate

From the WordPress Plugins screen, or by uploading the plugin's .zip file directly.

That's It

NibbleCache detects and benchmarks your server's available backend automatically on activation.

Check the Status Page (Optional)

Settings → NibbleCache shows exactly which backend was detected and live cache stats.

Connect Bunny Database (Optional, Multi-Server Sites Only)

If your site runs on more than one server, connect a free Bunny Database account under Settings → NibbleCache → Bunny Database.

⬇ Download NibbleCache Free

Support Free, Open-Source Development

NibbleCache is completely free, open-source, and built without hidden paywalls or bloated features. If it helped improve your database response times and freed up server resources, consider supporting our ongoing development to keep it that way!

❓ Frequently Asked Questions

Before You Install

Is NibbleCache actually free, with no catch?

Yes. Every feature described on this page is included with the free plugin. There is no separate Pro version, no license key, and no feature paywall.

The only thing that costs money is optional and external: if you choose to connect Bunny Database for multi-server sync, that's a third-party service with its own pricing, entirely separate from NibbleCache itself.

What if my host doesn't have Redis or Memcached?

NibbleCache checks for APCu as a last resort. If nothing is available at all, it installs its drop-in nowhere and does nothing. Your site behaves exactly as if the plugin weren't installed for caching purposes.

Will this conflict with another cache plugin I already have?

No. If another plugin already controls wp-content/object-cache.php, NibbleCache detects that on activation and leaves it alone rather than overwriting it, showing a notice that explains why it's staying inactive.

What happens if Redis or Memcached goes down?

The circuit breaker detects the failed connection and routes around it for a few seconds instead of erroring out or hanging on a timeout. Your site stays up, briefly uncached, and reconnects automatically once the backend is reachable again.

What's Relay, and do I need to set anything up to use it?

Relay is a PHP extension, fully compatible with Redis, that adds an in-memory layer on top serving repeat reads with no network round trip at all. If it's installed alongside Redis on your host, NibbleCache detects and prefers it automatically, with nothing to configure.

Does NibbleCache send my data anywhere?

Not by default. All caching happens locally, between the plugin and your own Redis, Relay, Memcached, or APCu, on your own server. The one optional exception is Bunny Database for multi-server sync, and even then only small invalidation events are sent, never post content or user data.

I run my site on more than one server. What does this plugin do about that?

By default, each server's cache only knows about its own edits, so a visitor's experience can depend on which server the load balancer happens to send them to. Connecting the optional Bunny Database integration closes that gap, typically within a minute.

Will this hold up on large enterprise sites, high-traffic e-commerce, or load-balanced infrastructure handling millions of reads and writes per second?

Yes. The core caching layer uses real pipelined batch operations and atomic writes rather than loops disguised as batches, so it holds up under high concurrency instead of degrading as request volume grows. The circuit breaker means a backend blip under load doesn't cascade into a site-wide outage, and non-blocking commands keep one busy site from stalling a shared cache instance for everyone else on it.

For infrastructure running on more than one server, Bunny Database sync is built specifically for that scale: every server's cache stays consistent automatically, old sync data is pruned on a schedule so the sync table never grows unbounded, and the underlying queries are indexed for exactly the lookup patterns the sync process runs, so performance holds steady as history accumulates rather than slowing down over time.

Is NibbleCache actually optimized for WooCommerce, or is that just a website claim?

It's a real, verified default, not marketing language. Cart/session data, product filter counts, and variation price caches are automatically excluded from unnecessary database backup writes — each one checked directly against WooCommerce's own class-wc-cache-helper.php source rather than assumed. Applies automatically the moment WooCommerce is active; does nothing on sites that don't run it.

Do I need to know what Redis or Memcached even are to use this?

No. Install and activate the plugin; it handles the rest. The status page is there if you're curious what's happening under the hood, but nothing about normal use requires understanding it.

Stop Asking the Database the Same Question Twice

Install NibbleCache and let it find the fastest cache your server already has.

⬇ Download NibbleCache Free

Support Free, Open-Source Development

NibbleCache is completely free, open-source, and built without hidden paywalls or bloated features. If it helped improve your database response times and freed up server resources, consider supporting our ongoing development to keep it that way!

More from MVP Plugins

Small, focused WordPress plugins built without bloat.

View all plugins