解决php中redis client进行subscribe操作出现timeout的问题

出现该问题的原因是poll设置接收超时所致,这个超时默认设置60s

设置Redis::OPT_READ_TIMEOUT配置项:

 

解决方法如下:

<?php

  $redis = new Redis();
  $redis->pconnect('127.0.0.1', '6379');
  $redis->setOption(Redis::OPT_READ_TIMEOUT, -1);
  $redis->subscribe(['channel-name'], function($instance,$channelName, $message) {
    echo $channelName, "==>", $message, PHP_EOL;
  });

?>

posted @ 2017-11-20 18:27  豆腐居士  阅读(4478)  评论(1编辑  收藏  举报