ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
~~~ //模糊匹配订阅(创建频道) cli客户端(订阅者) pSubscribe(patternArr function($redis, $pattern, $channel, $msg){}) - 订阅一个或多个符合给定模式的频道 re* 以re开头的频道; 回调中的任何非null返回值都将返回给调用者 //订阅(创建频道) cli客户端(订阅者) subscribe(channelArr,function($redis, $channel, $msg){},$instance) - 订阅(给定的一个或多个)频道的信息 此功能将来可能会发生变化 $redis->subscribe( ['channel-1', 'channel-2', 'channel-3'], function($redis, $channel, $msg){ echo $msg;//subscribe 是阻塞模式的,一直不会结束,这个脚本执行在浏览器是看不到信息的。除非你在下面加上die。。。,所以只能用cli运行模式 }, ); 上面两个订阅是阻塞式的独占链接,需要在后台挂起 //发布消息 cli客户端(被订阅者 无需独占链接不是堵塞的) publish(channel, message) - 将信息message发送到指定的频道channel(接收到信息message的订阅者数量) 警告:此功能将来可能会发生变化 $redis->publish('chan-1', 'hello, world!'); // send message. pubSub($keyWord [,$argument]) - Introspection into the pub/sub subsystem 查看订阅与发布系统状态 返回一个由活跃频道组成的列表 $argument:对于参数1是channels,您可以传递字符串模式,对于参数1是numsub 那么传递一个通道名称数组 返回值根据keyWord的不同而不同 CHANNELS:返回一个数组,其中成员是匹配的频道 NUMSUB:返回键/值数组,其中键是频道名称,值是它们的计数 NUMPAT:返回匹配的活跃订阅的整数 $redis->pubSub("channels"); //所有频道 $redis->pubSub("channels", "*pattern*"); //匹配包含pattern的频道 $redis->pubSub("numsub", ["chan1", "chan2"]); //获取'chan1' 和 'chan2'的订阅者 $redis->pubSub("numpat"); //获取匹配的订阅者数 ~~~