HarborCache – Object Cache with Redis
HarborCache – Object Cache with Redis

HarborCache – Object Cache with Redis

1/5 (1 ratings) — active installs Updated Nov 11, 2026
Status: connection state, request metrics and lifecycle controls.

Status: connection state, request metrics and lifecycle controls.

HarborCache provides persistent Redis object caching with a dashboard, local analytics, connection settings and scoped cache controls. It was developed around the day-to-day needs of the author’s websites, with its own administration and cache-management workflow.

It requires a separately operated Redis server. No account, subscription or license key is required. Request analytics stay in your configured Redis namespace. External tracing is disabled by default. See docs/FEATURES.md for implemented behavior, verified configurations and deployment acceptance gates.

Features include persistent caching through Predis, PhpRedis, Relay or Credis; multisite group scopes; bounded TTLs; atomic namespace invalidation; bulk cache operations; typed values; optional serialization and compression; optional split-alloptions storage; request key prefetching; local sampled analytics; an authenticated REST API; WP-CLI; protected administration forms; Site Health; Query Monitor; and Debug Bar support.

Advanced additions include bounded background reclamation, exact integer counters, safe-read retries/backoff, replica/Sentinel/cluster read routing, logging/tracing adapters, custom cache/connector factories, analytics retention/count/flush-persistence controls and shared-server capacity reporting. See docs/ADVANCED.md and the feature ledger for native-extension acceptance gates and API differences.

The dashboard includes Status, Analytics, Settings, Cache and Diagnostics. Configuration is saved to a guarded PHP file in wp-content. Configuration constants take precedence. Passwords and cached values are excluded from diagnostic exports.

REST API

HarborCache exposes an authenticated REST API under harborcache/v1. Use cookie authentication with a REST nonce, or an application password. The same capability that opens Settings is required: manage_options, or manage_network_options on multisite. The harborcache_manager_capability filter can change it.

Read routes: /status, /health, /analytics?window=7200&interval=300, /groups, /groups/{scope}/{group}, /slowlog and /relay. /groups returns at most 1,000 registry entries and a truncated flag. /analytics returns at most 1,000 samples; when analytics are disabled it returns enabled: false and summary: null. /slowlog returns the latest 25 command names, timestamps and durations; it is disabled with HTTP 403 when the connection is marked as a shared Redis server.

The group route scope is global or site-<id>. The flush route accepts exactly one of group=<name> or scope=site|site-<id>|global|all. scope=site means the current site. all is accepted only when network_flush allows it and the caller is a network administrator on multisite; other cross-site scopes require the same. Sending both group and scope returns HTTP 400.

Responses omit credentials and connection endpoints. Status codes are 400 for invalid or ambiguous input, 401/403 for authentication or scope refusal, 404 for an unknown registered group, 503 when Redis is unavailable, and 500 when a flush is not confirmed. All routes require the management capability; unauthenticated requests are rejected by WordPress REST authentication.

HarborCache connects to the Redis endpoint you configure. It does not contact the original plugin vendor. Optional tracing must be explicitly configured and uses your host application’s New Relic or OpenTelemetry integration and destination. Plugin-provided spans contain command names, timings and bounded datastore metadata; they omit cached keys, values, credentials and endpoint details. Configure retention and privacy in your provider or collector. No tracing SDK, remote account or external destination is enabled by default.

Redis is a registered trademark of Redis Ltd. No affiliation or endorsement is implied.