Maison > Article > développement back-end > 关于Redis的订阅(subscribe)问题
<code><?php $redis = new Redis(); $redis->connect('127.0.0.1', 6379); $redis->setOption(\Redis::OPT_READ_TIMEOUT, -1); $redis->subscribe(['testChannel'], 'parse'); function parse($redis, $channel, $message) { var_dump($redis->keys('*')); } ?> </code>
上面这段代码为什么回调函数里面执行任何redis的接口操作都是返回false啊,求大神指导。谢谢。
<code><?php $redis = new Redis(); $redis->connect('127.0.0.1', 6379); $redis->setOption(\Redis::OPT_READ_TIMEOUT, -1); $redis->subscribe(['testChannel'], 'parse'); function parse($redis, $channel, $message) { var_dump($redis->keys('*')); } ?> </code>
上面这段代码为什么回调函数里面执行任何redis的接口操作都是返回false啊,求大神指导。谢谢。
在Redis中,一旦一个client发出了SUBSCRIBE
命令,它就处于监听的模式,此时除了SUBSCRIBE
, PSUBSCRIBE
,UNSUBSCRIBE
,PUNSUBSCRIBE
这4条命令之外的所有其它命令都不能用。
文档里写得很清楚嘛。