首頁  >  文章  >  後端開發  >  关于Redis的订阅(subscribe)问题

关于Redis的订阅(subscribe)问题

WBOY
WBOY原創
2016-06-06 20:43:051207瀏覽

<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命令,它就处于监听的模式,此时除了SUBSCRIBEPSUBSCRIBEUNSUBSCRIBEPUNSUBSCRIBE这4条命令之外的所有其它命令都不能用。
文档里写得很清楚嘛。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn