Heim >Backend-Entwicklung >PHP-Tutorial >关于Redis的订阅(subscribe)问题

关于Redis的订阅(subscribe)问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-06 20:43:051237Durchsuche

<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条命令之外的所有其它命令都不能用。
文档里写得很清楚嘛。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn