Subscription/release method
Method name |
Parameter |
Description |
Notes |
|
pSubscribe |
$callback, $pattern, ...$patterns |
Subscribe to one or more channels that match a given pattern. |
$callback is a callback function |
|
pubSub |
$subCommand, ...$arguments |
View subscription and release system status. |
|
|
publish |
$channel, $message |
Send the message to the specified channel. |
|
|
pUnSubscribe |
$pattern, ...$patterns |
Unsubscribe from all channels in a given mode. |
|
|
|
|
|
|
|
subscribe |
$callback, $channel, ...$channels |
Subscribe to information for a given channel or channels. |
|
|
|
|
|
|
|
unsubscribe |
$channel, ...$channels |
Refers to unsubscribing to a given channel. |
|
|
|
|
|
|
|
setSubscribeStop |
bool $subscribeStop |
Set whether to opt out of the subscription |
Call this command when your callback function wants to exit |
|
isSubscribeStop |
|
View current subscription status |
|
|
Instance
defined("REDIS_HOST") ?: define('REDIS_HOST', '127.0.0.1');
defined("REDIS_PORT") ?: define('REDIS_PORT', 6379);
defined("REDIS_AUTH") ?: define('REDIS_AUTH', 'easyswoole');
go(function () {
$redis = new \EasySwoole\Redis\Redis(new \EasySwoole\Redis\Config\RedisConfig([
'host' => '127.0.0.1',
'port' => '6379',
'auth' => 'easyswoole',
'serialize' => \EasySwoole\Redis\Config\RedisConfig::SERIALIZE_NONE
]));;
//Open a new coroutine to subscribe
go(function () {
$redis = new \EasySwoole\Redis\Redis(new \EasySwoole\Redis\Config\RedisConfig([
'host' => REDIS_HOST,
'port' => REDIS_PORT,
'auth' => REDIS_AUTH
]));
$redis->pSubscribe(function (\EasySwoole\Redis\Redis $redis, $pattern, $str) {
var_dump($pattern,$str);
$data = $redis->unsubscribe('test');
var_dump($data);
$redis->setSubscribeStop(true);
}, 'test', 'test1', 'test2');
});
//Open a new coroutine to subscribe
go(function () {
$redis = new \EasySwoole\Redis\Redis(new \EasySwoole\Redis\Config\RedisConfig([
'host' => REDIS_HOST,
'port' => REDIS_PORT,
'auth' => REDIS_AUTH
]));
$redis->subscribe(function (\EasySwoole\Redis\Redis $redis, $pattern, $str) {
var_dump($pattern,$str);
$data = $redis->unsubscribe('test');
var_dump($data);
$redis->setSubscribeStop(true);
}, 'test', 'test1', 'test2');
});
$data = $redis->pubSub('CHANNELS');
var_dump($data);
\Swoole\Coroutine::sleep(1);
$data = $redis->publish('test2', 'test');
var_dump($data);
$data = $redis->pUnSubscribe('test');
var_dump($data);
});