superbalist / php-pubsub-redis
A Redis adapter for the php-pubsub package
Installs: 274 611
Dependents: 12
Suggesters: 0
Security: 0
Stars: 25
Watchers: 36
Forks: 13
Open Issues: 2
Requires
- php: >=5.6.0
- predis/predis: ^0.8|^1.0|^1.1
- superbalist/php-pubsub: ^2.0
Requires (Dev)
- mockery/mockery: ^0.9.5
- phpunit/phpunit: ^5.5
This package is auto-updated.
Last update: 2024-08-12 00:18:14 UTC
README
A Redis adapter for the php-pubsub package.
Installation
composer require superbalist/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 \Superbalist\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)