humanmade / wp-redis-predis-client
Installs: 208 425
Dependents: 2
Suggesters: 0
Security: 0
Stars: 28
Watchers: 22
Forks: 6
Open Issues: 4
pkg:composer/humanmade/wp-redis-predis-client
Requires
- php: ^8.2
- predis/predis: ^3.2.0
Requires (Dev)
- phpunit/phpunit: ^11.0
This package is auto-updated.
Last update: 2025-10-28 11:55:39 UTC
README
|
WP Redis - Predis Client An alternative Redis client for use with WP Redis. Enables TLS connections. |
|
| A Human Made project. Maintained by @nathanielks. |
|
WP Redis - Predis Client
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.
Getting Started
Requiring Files
Composer
When using Composer, functions.php file will automatically be loaded whenever you include Composer's autoloader in your project.
Manually Requiring
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';
Object Cache stub
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!
Configuring Predis
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, ), );
Requirements
- PHP 8.2 or higher
- Predis 3.2.0 or higher
- WordPress (when used in production)
Testing
This package includes comprehensive tests for both standalone and WordPress integration scenarios.
Quick Test
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-test
Docker Testing (Multiple PHP Versions)
Test 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 down
For detailed testing documentation, see TESTING.md.