info@hammanitech.com

Custom Web Development

Website Designing
Graphic Designing
Application Designing
UI/UX Designing
Branding
Frontend Development
Laravel Development
Plugin Development
PHP Development
Website Maintenance
WordPress
Shopify
Webflow
Wix
Squarespace
SEO
Social Media Marketing
PPC
E-mail Marketing
Content Marketing

Transform your Online Presence with our Responsive Web Solutions.

How to Install & Configure Redis Cache in WordPress (Complete Setup Guide)

Install & Configure Redis Cache in WordPress

WordPress performance issues usually start from one place: the database. Every page load, API call, admin action, or background task triggers multiple queries. When traffic grows or plugins become more complex, MySQL becomes the bottleneck. Redis solves this problem by keeping frequently used data in memory so WordPress does not have to ask the database the same questions again and again.

Before moving forward, it is important to understand that Redis is not a page cache. It does not store full HTML pages. It works at the object level. It stores query results, options, and computed objects that WordPress normally rebuilds on each request. If you want the conceptual background first, you should read Persistent Object Cache in WordPress, this guide is different. That article explains what persistent object caching is and when to use it. This one shows you how to implement Redis in a real WordPress environment.

Redis becomes most useful when:

  • Your site has logged-in users
  • You run WooCommerce or membership systems
  • Your admin panel feels slow
  • Database queries are consistently high
  • Page caching alone is not enough

For high-performance setups, Redis works best as part of a layered caching system. Opcode caching at the PHP level is one of those layers. If you have not enabled it yet, review How to Enable PHP Opcode Caching.

Together, opcode caching, page caching, and Redis object caching create a strong performance foundation.

What Redis Does in a WordPress Environment

Redis stores WordPress objects in memory. These objects include:

  • Database query results
  • Options loaded from wp_options
  • User roles and permissions
  • Transients
  • Computed values reused by plugins

Normally, WordPress loads this data again on every request. Redis keeps it available across requests. Instead of this flow:

WordPress → MySQL → Build object → Use → Destroy

You get this:

WordPress → Redis → Use cached object

The database is used less. Server load drops. Response time becomes stable. Redis is especially powerful for:

  • WooCommerce stores
  • Membership platforms
  • Learning systems
  • Admin-heavy dashboards

When Redis Is Not Needed

Redis adds complexity. It should not be installed blindly. You do not need Redis if:

  • Your site is small
  • Traffic is low
  • Pages are mostly static
  • Server memory is limited

In those cases, page caching alone gives better returns with less maintenance.

Requirements Before Installing Redis

Server Requirements

  • VPS or dedicated server
  • Root or sudo access
  • At least 2GB RAM recommended
  • Linux based OS (Ubuntu preferred)

Shared hosting usually does not allow Redis unless the provider supports it.

WordPress Requirements

  • PHP 7.4 or higher
  • MySQL or MariaDB
  • Ability to install plugins
  • Access to wp-config.php

How WordPress Talks to Redis

WordPress uses an internal class called WP_Object_Cache.
When Redis is enabled, this class is replaced by a drop-in file named object-cache.php.

This file:

  • Loads before plugins
  • Connects WordPress to Redis
  • Overrides default caching behavior
  • Stores objects persistently

Developers who work with custom plugins rely heavily on this mechanism. If you are building custom functionality, review How to Create a WordPress Plugin. Understanding object caching becomes essential when your plugin handles large datasets or repeated queries.

Installing Redis on Ubuntu Server

Most production servers use Ubuntu, so we start here.

Update system packages:

sudo apt update

sudo apt upgrade

Install Redis:

sudo apt install redis-server

Start Redis and enable auto-start:

sudo systemctl start redis

sudo systemctl enable redis

Check Redis status:

sudo systemctl status redis

Test Redis:

redis-cli ping

If you see:

PONG

Redis is running correctly.

 

Basic Redis Security Setup

Open the Redis config file:

sudo nano /etc/redis/redis.conf

Set bind address:

bind 127.0.0.1

Enable authentication:

requirepass strongpassword

Restart Redis:

sudo systemctl restart redis

This prevents external access and secures your Redis service.

Installing Redis Object Cache Plugin in WordPress

Log into WordPress admin.

Go to:
Plugins → Add New → Search for Redis Object Cache

Install and activate it.

This plugin does three things:

  • Tests Redis connectivity
  • Generates object-cache.php
  • Provides cache statistics

Once activated, go to:
Tools → Redis

Click Enable Object Cache
This creates the object-cache.php file inside /wp-content/.

If this file exists, WordPress is officially using Redis.

Configuring Redis in wp-config.php

Open wp-config.php and add:

define(‘WP_REDIS_HOST’, ‘127.0.0.1’);

define(‘WP_REDIS_PORT’, 6379);

define(‘WP_REDIS_PASSWORD’, ‘strongpassword’);

If you use Redis database separation:

define(‘WP_REDIS_DATABASE’, 0);

Save the file and reload the Redis dashboard in WordPress.

You should now see:

  • Status: Connected
  • Object cache: Enabled

Why This Setup Matters for Business Websites

If your site handles:

  • Payment workflows
  • API integrations
  • CRM automation
  • Member data

Redis becomes part of your stability layer.

This approach fits the same scalability principles described on the HammaniTech homepage. Modern WordPress sites need server-level optimization to stay reliable under load.

Advanced Configuration, Verification, and Real Performance Gains

At this stage, Redis is installed and connected. Now the real work begins. A basic setup only proves connectivity. Proper configuration and verification determine whether Redis will actually improve performance or quietly sit in the background without impact.

Many WordPress sites enable Redis and assume it is working. In reality, Redis must be tested, monitored, and tuned for the site’s workload. This is where most competitors stop. We go deeper.

Verifying That Redis Is Actually Working

Before optimizing anything, you must confirm that WordPress is truly using Redis.

Check Redis Plugin Status

Open:
Tools → Redis

You should see:

  • Status: Connected
  • Object Cache: Enabled
  • Client: PhpRedis
  • Memory usage values updating

If Object Cache shows disabled, WordPress is still using its default cache.

Verify Using Redis CLI

Run:

redis-cli -a yourpassword

Then:

info

Look for:

  • used_memory
  • connected_clients
  • keyspace_hits
  • keyspace_misses

Now open a few WordPress pages and reload the admin panel. Run:

info stats

If keyspace_hits increases, Redis is actively serving cached objects.

Measuring Database Query Reduction

Install Query Monitor in WordPress.

Open any page before Redis:

  • Note database query count
  • Note total execution time

After Redis:

  • Query count should drop
  • Execution time should stabilize

This is where Redis proves its value.

Redis Configuration for Production Environments

Memory Allocation

Open Redis config:

sudo nano /etc/redis/redis.conf

Set:

maxmemory 256mb

maxmemory-policy allkeys-lru

For WooCommerce or membership platforms:

maxmemory 512mb

Redis works best when it has space. Low memory causes eviction and reduces cache efficiency.

Choosing the Right Eviction Policy

Policy When to Use
allkeys-lru General WordPress sites
volatile-lru When you rely on expirations
noeviction For strict cache integrity

For WordPress, allkeys-lru is the safest choice.

Redis Persistence Settings

Redis can store data in memory only, or write snapshots to disk.

For WordPress object caching:

  • Persistence is optional
  • Use memory-only for speed
  • Enable persistence if you want recovery after restarts

Set:

save “”

appendonly no

This disables disk writes and keeps Redis focused on caching only.

Redis and WooCommerce Handling

WooCommerce stores depend heavily on dynamic data:

  • Cart sessions
  • Product pricing
  • User-specific content

Redis improves performance but must not cache sensitive session data incorrectly.

When WooCommerce fails during checkout or subscription renewals, caching issues are often part of the problem. That is why it is critical to understand the server behavior described in fix failed woocommerce subscription payments before enabling Redis on live stores.

Best practices:

  • Test Redis on staging first
  • Validate checkout and cart behavior
  • Confirm order status updates in real time

Redis for Logged-in Users and wp-admin

Redis shines in the admin panel.

Admin pages trigger:

  • User meta queries
  • Options loading
  • Plugin configuration requests

With Redis:

  • wp-admin becomes responsive
  • Dashboard widgets load faster
  • Plugin settings pages open instantly

This is why Redis is ideal for:

  • Developers
  • Store managers
  • Editors handling large sites

Redis and API / JSON Response Optimization

WordPress REST API endpoints depend on repeated database calls. Redis reduces response time significantly.

If you use custom endpoints or third-party integrations, Redis keeps API responses stable and predictable. This directly supports backend architectures similar to those explained in what is json response wordpress where response efficiency is essential for performance.

Redis improves:

  • API reliability
  • External system integrations
  • Headless WordPress performance

Redis and AI Search Readiness

Search engines now consider performance consistency, backend efficiency, and response stability.

Redis helps by:

  • Reducing query spikes
  • Maintaining predictable response times
  • Improving crawl stability

These optimizations align with the principles discussed optimize wordpress for ai search engines where server-side performance becomes part of SEO strategy, not just front-end speed. Redis is no longer only about speed. It is about structural reliability.

Redis for Multisite Environments

In WordPress Multisite:

  • All sites share the same Redis instance
  • Cache keys must remain isolated

Redis Object Cache plugin handles this automatically using site prefixes.

Benefits:

  • Faster network dashboards
  • Reduced database contention
  • Stable performance across all subsites

Without Redis, multisite installations suffer from constant database pressure.

Benchmark Example: Before vs After Redis

Metric Before Redis After Redis
Database queries 120+ 30-40
Admin load time 3.5s 1.2s
API response 600ms 180ms
Checkout processing Inconsistent Stable

Troubleshooting, Security, Maintenance, and Final Optimization

Redis becomes powerful only when it is stable. Most performance issues appear after deployment, not during setup. Phase 3 focuses on keeping Redis reliable, secure, and predictable under real traffic. This phase separates working setups from professional-grade infrastructure.

Common Redis Errors and How to Fix Them

Redis Cache Not Working in WordPress

Symptoms:

  • Plugin shows “Not Connected”
  • object-cache.php exists but cache is inactive
  • No change in database queries

Fix:

  • Restart Redis

sudo systemctl restart redis

  • Check Redis authentication
  • Verify wp-config.php credentials
  • Confirm Redis port and bind address

Redis Connection Refused

Cause:

  • Firewall blocking Redis
  • Redis service stopped
  • Wrong password or socket path

Fix:

sudo ufw allow from 127.0.0.1 to any port 6379

sudo systemctl restart redis

Object Cache Drop-in Missing

WordPress only uses Redis when object-cache.php exists.

Fix:

  • Re-enable Redis Object Cache plugin
  • Confirm file inside /wp-content/
  • Ensure correct file permissions

Cache Hits Not Increasing

Redis is connected but unused.

Fix:

  • Check eviction policy
  • Increase memory limit
  • Clear existing cache and reload pages

Clearing Redis Cache Safely

Via WordPress Plugin

Tools → Redis → Flush Cache

Best for:

  • Plugin updates
  • Content changes
  • Debugging

Via Redis CLI

redis-cli -a yourpassword flushall

Use only when:

  • Testing
  • Major configuration changes

Do not flush Redis frequently in production. It removes performance gains temporarily.

Redis Security Best Practices

Redis should never be public.

  1. Bind Redis to localhost

bind 127.0.0.1

  1. Always enable password protection

requirepass strongpassword

  1. Block Redis port externally

sudo ufw deny 6379

  1. Monitor Redis logs

/var/log/redis/redis-server.log

Security is not optional. Redis is memory-based and stores sensitive objects.

Redis Maintenance Strategy

Professional setups always include:

  • Monthly memory review
  • Eviction monitoring
  • Log scanning
  • Controlled cache flushing
  • Configuration backups

Redis works best when treated like a system service, not a plugin feature.

Redis Performance Monitoring

Track:

  • Memory usage
  • Key hits vs misses
  • Client connections
  • CPU usage

Command:

redis-cli -a yourpassword info

Look at:

  • used_memory
  • keyspace_hits
  • keyspace_misses

High hit ratio = Redis is doing its job.

Redis and Server Migrations

When migrating WordPress to another host, Redis must be reconfigured. Redis settings never move automatically.

If you plan infrastructure changes, follow the server handling principles described in how to migrate a wordpress site to a new host so Redis does not break after DNS or hosting updates.

Always:

  • Disable Redis before migration
  • Reinstall Redis on new server
  • Reconnect WordPress after move

Redis and Business-Level Reliability

High-performance WordPress is not only about speed. It is about consistency, stability, and reduced failure risk.

This is part of why many businesses choose WordPress for scalability and flexibility, as explained in why choose wordpress for your website’s comprehensive benefits and features. Redis strengthens that foundation by reducing backend stress.

Redis Final Production Checklist

Item Status
Redis service running
Redis password set
Firewall secured
WordPress connected
object-cache.php present
Memory configured
Eviction policy set
Cache verified
WooCommerce tested
Logs monitored

Frequently Asked Questions

Does Redis replace page caching?

No. Redis works at the object level. Page cache stores HTML pages. Both should run together.

Can Redis slow WordPress?

Yes, if memory is too low or eviction policy is wrong.

Is Redis safe for WooCommerce?

Yes, when tested properly on staging.

How much memory should Redis have?

128MB minimum. 256MB recommended. 512MB for WooCommerce.

Should Redis be enabled on small blogs?

No. Page caching alone is usually enough.

How do I know Redis is really working?

Redis CLI stats, Query Monitor, and plugin dashboard must all show activity.

Redis and Professional WordPress Infrastructure

Redis is not for casual setups. It belongs in environments that:

  • Handle transactions
  • Run APIs
  • Support logged-in users
  • Process dynamic content

If your site falls in this category, Redis becomes part of your stability layer.

Modern WordPress development increasingly relies on server-level optimization rather than plugin stacking. That is why Redis fits naturally into professional WordPress environments built by teams like hammanitech who focus on scalable, performance-driven architecture.

When You Should Get Expert Help

If Redis causes instability or you are unsure about memory tuning, firewall configuration, or eviction behavior, professional review is recommended.

For performance consulting and optimization, you can start from request-a-quote where infrastructure-level performance improvements are handled professionally.

For direct technical discussion, contact-us provides access to engineers who understand Redis, caching layers, and WordPress performance design.

Final Conclusion

Redis cache transforms WordPress when used correctly.

It:

  • Reduces database load
  • Improves admin performance
  • Stabilizes APIs
  • Supports WooCommerce
  • Enables scalability

But Redis is not magic. It must be:

  • Configured properly
  • Secured tightly
  • Monitored regularly
  • Maintained carefully

When Redis is treated as part of your server infrastructure instead of a plugin feature, WordPress becomes faster, more reliable, and far easier to scale.