php swoole redis订阅,easyswoole redis订阅/发布操作方法

Redis 发布订阅

Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。

操作方法

方法名称

参数

说明

备注

pSubscribe

$callback, $pattern, ...$patterns

订阅一个或多个符合给定模式的频道。

$callback是回调函数

pubSub

$subCommand, ...$arguments

查看订阅与发布系统状态。

publish

$channel, $message

将信息发送到指定的频道。

pUnSubscribe

$pattern, ...$patterns

退订所有给定模式的频道。

subscribe

$callback, $channel, ...$channels

订阅给定的一个或多个频道的信息。

unsubscribe

$channel, ...$channels

指退订给定的频道。

setSubscribeStop

bool $subscribeStop

设置是否退出订阅

当你回调函数想退出时,调用这个命令

isSubscribeStop

查看当前订阅状态

基本使用

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

]));;

//新开协程进行订阅

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');

});

//新开协程进行订阅

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);

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值