|
WP Redis - Predis Client An alternative Redis client for use with WP Redis. Enables TLS connections. |
|
| A Human Made project. Maintained by @nathanielks. |
|
This is a package that enables the use of Predis as a Redis Client as opposed to PHPRedis for WP Redis. Predis has the distinct advantage of connecting to Redis via TLS, encrypting traffic in-transit. Requires WP Redis >= 0.7.0.
When using Composer, functions.php file will automatically be loaded whenever you include Composer's autoloader in your project.
The only file needing require_onceing for WP Predis to work correctly is functions.php (which is automatically included via vendor/autoload.php, which is generated by Composer). Download this repo somewhere in your project, run composer install, and include vendor/autoload.php somewhere early (such as wp-config.php):
require_once '/path/to/wp-redis-predis-client/vendor/autoload.php';
Now that files have been included, it's recommended you use the included object-cache.php file instead of the one included with WP Redis. It will add the required filters for WP Predis to work and then include WP Redis' object-cache.php file. Once object-cache.php is in wp-content (or whatever content directory you are using), you're good to go!
WP Redis - Predis Client adheres to WP Redis' configuration details. Predis also takes an additional argument, ssl, for configuring TLS connections. See PHP's SSL Context options for more details.
global $redis_server;
$redis_server = array(
'host' => '127.0.0.1',
'port' => 6379,
'ssl' => array(
'local_cert' => '/path/to/certificate_and_key.pem',
'verify_peer' => true,
),
);- PHP 8.2 or higher
- Predis 3.2.0 or higher
- WordPress (when used in production)
This package includes comprehensive tests for both standalone and WordPress integration scenarios.
Run the test suite locally (requires Redis):
# Install dependencies
composer install
# Start Redis
docker run -d --name redis-test -p 6379:6379 redis:latest
# Run tests
vendor/bin/phpunit
# Stop Redis
docker stop redis-test && docker rm redis-testTest across multiple PHP versions using Docker Compose:
# Start services
docker compose up -d redis
# Run tests with PHP 8.2
docker compose run --rm test-php82 vendor/bin/phpunit
# Run tests with PHP 8.3
docker compose run --rm test-php83 vendor/bin/phpunit
# Run tests with PHP 8.4
docker compose run --rm test-php84 vendor/bin/phpunit
# Stop services
docker compose downFor detailed testing documentation, see TESTING.md.