About this plugin
Yac uses the Yac PHP extension as the backing store for the WordPress object cache. Unlike Memcached or Redis, Yac stores data in shared memory inherited by every PHP-FPM worker on the machine. There is no cache server to install, no socket to configure, and every cache read is a hash lookup in local memory — typically microseconds, with no network round trip and no global lock. Highlights Fast. A cache read is a shared-memory hash lookup — the status page measures a 0.005 ms round trip. On a production site (laruence.com, PHP 8.1-FPM, 8 cores), full homepage renders ran ~20% faster than the classic Memcached drop-in: 141.6 vs 118.7 req/s at 20 concurrent users, +18-20% across 20-100 concurrency, zero failed requests. No external server. The cache lives in shared memory ( mmap /SysV), fork-inherited by FPM workers. Lock-free. Per-slot CAS arbitration; throughput scales with worker count. No global lock. Self-deploying. Activating the plugin writes object-cache.php to wp-content/ . Simple keys, simple flush. Keys are stored verbatim while they fit Yac’s 48-byte limit; wp_cache_flush() calls Yac::flush() and wipes the entire shared memory on the machine — know that before you flush. Graceful degradation. If Yac is unavailable (extension missing), the drop-in falls back to a per-request in-memory cache and WordPress keeps working. Single-node focus. Keys carry no per-blog prefix; installs sharing one PHP pool isolate via YAC_OCACHE_KEY_PREFIX . Multisite blogs share one namespace. Entry inspector. On the admin page, click any top-entry key to see the deserialized value, padded size, expiry and — on newer yac builds — last access, hit count and whether the value is embedded in its slot; or delete the entry. Best fit Yac is a local cache. It is ideal for single-node or few-node WordPress installs where all PHP workers run on one machine. On large multi-server clusters with strict cross-node consistency needs, a network cache (Memcached/Redis) may suit better.