sevenlinx/pubsub-redis-php

dev-main / 1.x-dev 2021-04-24 10:10 UTC

This package is auto-updated.

Last update: 2024-09-24 18:01:50 UTC


README

要求

安装

需要安装两种Redis客户端,详情请见要求

一旦您拥有任何客户端,您可以

composer require sevenlinx/pubsub-redis-php

实现自己的Redis连接器

您可以通过实现 \SevenLinX\PubSub\Redis\Contracts\ConnectorContract 来实现自己的Redis客户端装饰器

use SevenLinX\PubSub\Redis\Contracts\ConnectorContract;

class MyOwnConnector implements ConectorContract
{
    ...
    public function publish(ChannelContract $channel, MessageContract $message): int
    {
        return $this->client->publish($channel->name(), $message->payload());
    }

    public function subscribe(ChannelContract|array $channels, Closure $handler): void
    {
        $this->client->subscribe($channels->name(), [$handler, 'handle']);
    }
}

// subscribe.php
$driver = new RedisDriver(new MyOwnConnector());
$driver->subscribe(new GenericChannel(), function(GenericPayload $payload, redis) {
    var_dump($payload);
});

示例

您可以在examples/目录中查看

/!\ 注意:此要求已存在的redis服务器 /!\

测试

composer run testing
Seven LinX Incorporated创建