Skip to main content
Agency Program Get 2× more leads and save 50% on hosting. Built for agencies ready to grow. Book a call
WP Redis icon

WP Redis

v1.4.5
by Pantheon Systems · 4.6 (19 reviews)

Back your WP Object Cache with Redis, a high-performance in-memory storage backend.

10K+ active installs Updated Jan 22, 2025 Tested to 6.7.2
Try Demo Download
Pre-installed Ready in ~10s No card
WP Redis

About WP Redis

This is a plugin for WordPress sites that helps improve speed and performance for high-traffic or dynamically-loaded pages. It integrates with Redis, a high-speed and scalable object cache, and provides a variety of commands for managing and debugging the cache.

Frequently asked questions

What is WP Redis?
WP Redis is a WordPress plugin that allows you to back your WP Object Cache with Redis. Redis is a high-performance in-memory storage backend suitable for high-traffic sites.
Who is the author of WP Redis?
The author of WP Redis is Pantheon Systems.
What are the benefits of using a persistent object cache like Redis?
A persistent object cache is beneficial for sites concerned with high traffic, speed for logged-in users, or dynamic pageloads. It can also scale across multiple instances of your application.
Does WP Redis include WP-CLI commands?
Yes, WP Redis implements a variety of WP-CLI commands under the 'wp redis' namespace. These commands include 'cli', 'debug', 'enable', and 'info'.
Can I use WP Redis on any self-hosted WordPress site?
Yes, you can use WP Redis on any self-hosted WordPress site, provided you have Redis installed.

Changelog

1.4.5 (January 21, 2024)

  • Support Relay in check_client_dependencies() with the WP_REDIS_USE_RELAY constant [#471]

1.4.4 (November 27, 2023)

  • Updates Pantheon WP Coding Standards to 2.0 [#445]
  • Handle duplicate keys in get_multiple function [#448] (props @souptik)

1.4.3 (June 26, 2023)

  • Bug fix: Fixes assumption that CACHE_PORT & CACHE_PASSWORD are Set. [428] (props @tnolte)
  • Adds WP.org validation GitHub action [#435]
  • Bug fix: Fixes incorrect order of array_replace_recursive and other issues [434] (props @timnolte)
  • Bug fix: Replace use of wp_strip_all_tags in object-cache.php [434] (props @timnolte)
  • Bug fix: Don’t strip tags from the cache password. [434] (props @timnolte)

1.4.2 (May 15, 2023)

  • Bug fix: Removes exception loop caused by esc_html in _exception_handler() [421]

1.4.1 (May 11, 2023)

  • Bug fix: wp_cache_flush_runtime should only clear the local cache [413]

1.4.0 (May 9, 2023)

  • Add support for flush_runtime and flush_group functions [#405]
  • Add pantheon-wp-coding-standards [#400]
  • Update CONTRIBUTING.MD [#406]
  • Update Composer dependencies [#401]

1.3.5 (April 6, 2023)

  • Bump tested up to version to 6.2
  • Update Composer dependencies [#394]

1.3.4 (March 7, 2023)

  • Set missing_redis_message if Redis service is not connected [#391].

1.3.3 (February 28, 2023)

  • Add PHP 8.2 support [#388].
  • Remove Grunt, add valid license to Composer file [#387].
  • Update Composer dependencies [#384] [#385].

1.3.2 (December 5, 2022)

  • Fix broken wp_cache_supports function [#382].

1.3.1 (December 2, 2022)

  • Declare wp_cache_supports function and support features. [#378]
  • Make dependabot target develop branch for PRs. [#376]

1.3.0 (November 29, 2022)

  • Added CONTRIBUTING.MD and GitHub action to automate deployments to wp.org. [#368]

1.2.0 (February 17, 2022)

  • Adds support for Relay via WP_REDIS_USE_RELAY constant [#344].

1.1.4 (October 21, 2021)

  • Fixes some faulty logic in WP_REDIS_IGNORE_GLOBAL_GROUPS check [#333].

1.1.3 (October 21, 2021)

  • Supports a WP_REDIS_IGNORE_GLOBAL_GROUPS constant to prevent groups from being added to global caching group [#331].

1.1.2 (March 24, 2021)

  • Applies logic used elsewhere to fall back to $_SERVER in wp_redis_get_info() [#316].

1.1.1 (August 17, 2020)

  • Returns cache data in correct order when using wp_cache_get_multiple() and internal cache is already primed [#292].

1.1.0 (July 13, 2020)

  • Implements wp_cache_get_multiple() for WordPress 5.5 [#287].
  • Bails early when connecting to Redis throws an Exception to avoid fatal error [285].

1.0.1 (April 14, 2020)

  • Adds support for specifying Redis database number from environment/server variables [#273].

1.0.0 (March 2, 2020)

  • Plugin is stable.

0.8.3 (February 24, 2020)

  • Fixes wp redis cli by using proc_open() directly, instead of WP_CLI::launch() [#268].

0.8.2 (January 15, 2020)

  • Catches exceptions when trying to connect to Redis [#265].

0.8.1 (January 10, 2020)

  • Adds WP_REDIS_DEFAULT_EXPIRE_SECONDS constant to set default cache expire value [#264].

0.8.0 (January 6, 2020)

  • Uses flushdb instead of flushAll to avoid flushing the entire Redis instance [#259].

0.7.1 (December 14, 2018)

  • Better support in wp_cache_init() for drop-ins like LudicrousDB [#231].
  • Cleans up PHPCS issues.

0.7.0 (August 22, 2017)

0.6.2 (June 5, 2017)

  • Bug fix: Preserves null values in internal cache.
  • Bug fix: Converts numeric values to their true type when getting.

0.6.1 (February 23, 2017)

  • Bug fix: correctly passes an empty password to redis-cli.
  • Variety of improvements to the test suite.

0.6.0 (September 21, 2016)

  • Introduces three new WP-CLI commands: wp redis debug to display cache hit/miss ratio for any URL; wp redis info to display high-level Redis statistics; wp redis enable to create the object-cache.php symlink.
  • Permits a Redis database to be defined with $redis_server['database'].
  • Introduces wp_cache_add_redis_hash_groups(), which permits registering specific groups to use Redis hashes, and is more precise than our existing WP_REDIS_USE_CACHE_GROUPS constant.

0.5.0 (April 27, 2016)

  • Performance boost! Removes redundant exists call from wp_cache_get(), which easily halves the number of Redis calls.
  • Uses add_action() and $wpdb in a safer manner for compatibility with Batcache, which loads the object cache before aforementioned APIs are available.
  • For debugging purposes, tracks number of calls to Redis, and includes breakdown of call types.
  • Adds a slew of more explicit test coverage against existing features.
  • For consistency with the actual Redis call, calls del instead of delete.
  • Bug fix: If a group isn’t persistent, don’t ever make an exists call against Redis.

0.4.0 (March 23, 2016)

  • Introduces wp redis-cli, a WP-CLI command to launch redis-cli with WordPress’ Redis credentials.
  • Bug fix: Ensures fail back mechanism works as expected on multisite, by writing to sitemeta table instead of the active site’s options table.
  • Bug fix: Uses ‘default’ as the default cache group, mirroring WordPress core, such that $wp_object_cache->add( 'foo', 'bar' ) === wp_cache_add( 'foo', 'bar' ).

0.3.0 (February 11, 2016)

  • Introduces opt-in support for Redis cache groups. Enable with define( 'WP_REDIS_USE_CACHE_GROUPS', true );. When enabled, WP Redis persists cache groups in a structured manner, instead of hashing the cache key and group together.
  • Uses PHP_CodeSniffer and WordPress Coding Standards sniffs to ensure WP Redis adheres to WordPress coding standards.
  • Bug fix: Permits use of a Unix socket in $redis_server['host'] by ensuring the supplied $port is null.

0.2.2 (November 24, 2015)

  • Bug fix: use INSERT IGNORE INTO instead of INSERT INTO to prevent SQL errors when two concurrent processes attempt to write failback flag at the same time.
  • Bug fix: use E_USER_WARNING with trigger_error().
  • Bug fix: catch Exceptions thrown during authentication to permit failing back to internal object cache.

0.2.1 (November 17, 2015)

  • Bug fix: prevent SQL error when $wpdb->options isn’t yet initialized on multisite.

0.2.0 (November 17, 2015)

  • Gracefully fails back to the WordPress object cache when Redis is unavailable or intermittent. Previously, WP Redis would hard fatal.
  • Triggers a PHP error if Redis goes away mid-request, for you to monitor in your logs. Attempts one reconnect based on specific error messages.
  • Forces a flushAll on Redis when Redis comes back after failing. This behavior can be disabled with the WP_REDIS_DISABLE_FAILBACK_FLUSH constant.
  • Show an admin notice when Redis is unavailable but is expected to be.

0.1

  • Initial commit of working code for the benefit of all.

Try other plugins

Really Simple SSL icon

Really Simple SSL

4.9 · 4M+ installs

The easiest way to improve security! Leverage your SSL certificate and protect your website visitors.