johnsneakers
V2EX  ›  问与答

PHP 调 Redis BLPOP 诡异的问题

  •  
  •   johnsneakers · Dec 5, 2016 · 2297 views
    This topic created in 3620 days ago, the information mentioned may be changed or developed.

    10W 以上的队列时候, 偶尔会取不到数据。退出再重新执行又取到了。。。 直接代码吧

    while(true) {
      $ret  = $this->_redis->blpop("key",0);
      if(empty($ret))  {  echo "就是这里,偶尔会取出来空的";  }
    }
    

    现在的临时方案是定时重启,感觉好搓。 请问这个该怎么破

    2 replies  •  2016-12-06 13:12:59 +08:00
    lorazepam
    lorazepam
    Dec 6, 2016
    1
    timeout 为 0 当然取不到
    johnsneakers
    johnsneakers
    OP
    Dec 6, 2016
    2
    @lorazepam timeout 为 0 是不超时
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2912 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 12:25 · PVG 20:25 · LAX 04:25 · JFK 07:25
    ♥ Do have faith in what you're doing.