ホームページ >バックエンド開発 >PHPチュートリアル >关于Redis的订阅(subscribe)问题

关于Redis的订阅(subscribe)问题

WBOY
WBOYオリジナル
2016-06-06 20:43:051222ブラウズ

<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 までご連絡ください。