milind / php-pubsub-redis
A Redis adapter for the php-pubsub package
dev-master / 1.0.x-dev
2021-07-15 13:47 UTC
Requires
- php: >=5.6.0
- milind/php-pubsub: dev-master
- predis/predis: ^1.1
Requires (Dev)
- mockery/mockery: ^0.9.5
- phpunit/phpunit: ^5.5
This package is auto-updated.
Last update: 2025-03-15 21:58:11 UTC
README
A Redis adapter for the php-pubsub package.
Installation
composer require milind/php-pubsub-redis
Usage
$client = new Predis\Client([ 'scheme' => 'tcp', 'host' => '127.0.0.1', 'port' => 6379, 'database' => 0, 'read_write_timeout' => 0 ]); $adapter = new \milind\PubSub\Redis\RedisPubSubAdapter($client); // consume messages // note: this is a blocking call $adapter->subscribe('my_channel', function ($message) { var_dump($message); }); // publish messages $adapter->publish('my_channel', 'HELLO WORLD'); $adapter->publish('my_channel', ['hello' => 'world']); $adapter->publish('my_channel', 1); $adapter->publish('my_channel', false); // publish multiple messages $messages = [ 'message 1', 'message 2', ]; $adapter->publishBatch('my_channel', $messages);
Examples
The library comes with examples for the adapter and a Dockerfile for running the example scripts.
Run make up
.
You will start at a bash
prompt in the /opt/php-pubsub
directory.
If you need another shell to publish a message to a blocking consumer, you can run docker-compose run php-pubsub-redis /bin/bash
To run the examples:
$ php examples/RedisConsumerExample.php $ php examples/RedisPublishExample.php (in a separate shell)