=== Ultimate Redis Object Cache ===
Contributors:      ultimatemultimediaconsult
Tags:              redis, cache, object-cache, performance, database, speed, caching, multisite
Requires at least: 5.6
Tested up to:      6.7
Requires PHP:      7.4
Stable tag:        1.0.0
License:           GPLv2 or later
License URI:       https://www.gnu.org/licenses/gpl-2.0.html

Enterprise-grade Redis object cache engine for WordPress. Reduces database load, accelerates page delivery, and stabilises performance under heavy traffic.

== Description ==

**Ultimate Redis Object Cache** is a high-performance, enterprise-ready caching engine designed to dramatically reduce database load, accelerate page delivery, and stabilise WordPress environments under heavy traffic.

Built for modern hosting infrastructure, this plugin transforms Redis into a powerful real-time performance layer for WordPress, enabling websites to handle large volumes of requests with speed, reliability, and efficiency.

Whether you're running a media platform, learning management system, e-commerce store, or multi-site deployment, Ultimate Redis Object Cache ensures consistent performance and reduced server strain — even during peak demand.

= Core Features =

**Advanced Redis Integration**
* Persistent object caching with automatic fallback
* Automatic cache warm-up on publish/save
* Intelligent key management with prefix isolation
* Redis Cluster and Sentinel support
* Multi-database support
* TLS encrypted connections

**Performance Optimisation Engine**
* Query result caching
* Transient optimisation and cleanup
* Automatic cache expiration tuning
* Smart memory usage management (allkeys-lru policy)
* Database table optimisation (OPTIMIZE TABLE)

**Monitoring and Diagnostics**
* Real-time cache statistics dashboard
* Cache hit/miss ratio tracking
* Memory usage visualisation
* Slow query detection and logging
* Performance alerts via email

**Reliability and Fail-Safe Protection**
* Automatic fallback to database if Redis fails
* Self-healing cache routines
* Corruption detection
* Safe, selective cache flushing (preserves unflushable groups)

**Security and Stability**
* Redis AUTH password support
* TLS/SSL encrypted connections
* Rate-limit and safe flush protection
* Cache isolation for multi-site environments (per-blog key namespacing)

**Developer-Friendly Tools**
* REST API integration (Enterprise plan)
* WP-CLI commands: status, flush, enable, disable, stats, optimize, test, warmup, config
* Debug mode and optimizer log
* Custom cache group rules (ignored, unflushable, global)
* wp-config.php snippet generator

= Pricing Plans =

**Free Trial** — Full access for 30 days, no credit card needed.

**Starter** — $49/year — Single website, core caching, basic monitoring.

**Professional** — $129/year — Up to 5 websites, auto-optimizer, TLS, priority support.

**Business** — $249/year — Up to 25 websites, cluster/sentinel, multi-site, alerts.

**Enterprise** — $499/year — Unlimited websites, REST API, WP-CLI, SLA support.

**Lifetime** — $799 one-time — Everything in Enterprise, forever. Ideal for agencies.

**Add-On Module** — $29/site — Analytics dashboard, auto-scaling, AI tuning, multi-server sync.

= Target Users =

This plugin is ideal for: hosting providers, WordPress developers, agencies, media organisations, universities and schools, NGOs and government portals, SaaS and platform operators, and individual publishers with active websites.

= Competitive Advantage =

Designed to compete with Redis Object Cache, WP Rocket, and LiteSpeed Cache, but with deeper diagnostics, enterprise automation, better multi-site scaling, and transparent performance analytics.

== Installation ==

1. Upload the `ultimate-redis-object-cache` folder to `/wp-content/plugins/`
2. Activate the plugin through the **Plugins** menu
3. Go to **Redis Cache → Settings** and configure your Redis server details
4. Go to **Redis Cache → Dashboard** and click **Enable Drop-In**
5. Your site is now running on Redis object cache

= Requirements =

* WordPress 5.6+
* PHP 7.4+
* Redis server 4.0+ (local or remote)
* phpredis PHP extension (recommended) or Predis (pure PHP fallback)

= WP-CLI =

    # Show status
    wp uroc status

    # Flush cache
    wp uroc flush

    # Enable drop-in
    wp uroc enable

    # Show cache statistics
    wp uroc stats

    # Test Redis connection
    wp uroc test

    # Run the auto-optimizer
    wp uroc optimize

    # Show wp-config.php snippet
    wp uroc config

= wp-config.php Constants =

All settings can optionally be hard-coded as constants for faster bootstrap:

    define( 'WP_REDIS_HOST',         '127.0.0.1' );
    define( 'WP_REDIS_PORT',          6379 );
    define( 'WP_REDIS_PASSWORD',     'your-password' );
    define( 'WP_REDIS_DATABASE',      0 );
    define( 'WP_REDIS_PREFIX',       'mysite:' );
    define( 'WP_REDIS_CLIENT',       'phpredis' ); // phpredis | predis
    define( 'WP_REDIS_TIMEOUT',       1 );
    define( 'WP_REDIS_READ_TIMEOUT',  1 );
    define( 'WP_REDIS_MAXTTL',        86400 );   // optional max TTL

    // To disable caching temporarily:
    define( 'WP_REDIS_DISABLED', true );

== Frequently Asked Questions ==

= Does this work on shared hosting? =

If your shared host has Redis available (many managed hosts like Kinsta, Cloudways, Spinupwp, GridPane do), yes. For shared hosts without Redis, we recommend checking with your host or upgrading.

= Will it conflict with other caching plugins? =

Ultimate Redis Object Cache handles **object caching** only. It works alongside page caching plugins (WP Rocket, W3 Total Cache, LiteSpeed Cache, etc.) without conflict. In fact, they complement each other.

= What happens if Redis goes down? =

The plugin automatically falls back to WordPress's native in-memory cache. Your site stays online — just without Redis persistence. The diagnostics dashboard and email alerts will notify you.

= Does it support WordPress Multisite? =

Yes. Each blog in a network gets its own key namespace. Global groups (like `users`) are shared across the network.

= What is the object-cache.php drop-in? =

WordPress checks for `wp-content/object-cache.php` on every request. When present, it replaces the built-in in-memory cache. The plugin copies its drop-in to this location — that's what makes Redis caching active.

= Can I use this with Redis Cluster or Sentinel? =

Yes — available on the Business plan and higher. Configure nodes in Settings → Cluster/Sentinel.

== Screenshots ==

1. Dashboard — live stats, hit ratio, memory usage, and quick actions
2. Settings — full connection configuration, clustering, and cache groups
3. Diagnostics — system health checks and optimizer log
4. License — pricing plans and activation

== Changelog ==

= 1.0.0 =
* Initial release
* Full Redis object cache drop-in (phpredis, Predis, Relay)
* Dashboard with real-time stats
* Auto-optimizer with cron
* Cluster & Sentinel support
* UWLM licensing integration (7 product IDs)
* WP-CLI commands
* REST API
* Multi-site support

== Upgrade Notice ==

= 1.0.0 =
Initial release.

== Support ==

* Email: support@ultimatemultimediaconsult.com
* Phone: +256770730170
* Support page: https://www.ultimatemultimediaconsult.com/support
