「PHP の致命的なエラー: メッセージ '接続の読み取りエラー' を伴うキャッチされない例外 'RedisException'」
ここのドライバーはphpredisです
$redis->blpop('a', 0);
これは常に ~1 分後にタイムアウトします。私の redis.conf はタイムアウト 0 を言って$redis->getOption(Redis::OPT_READ_TIMEOUT)
戻りますdouble(0)
私がこれを行うと、タイムアウトすることはありません$redis->setOption(Redis::OPT_READ_TIMEOUT, -1);
なぜ -1 が必要なのですか? Redis のドキュメントにはtimeout 0
、redis.conf でタイムアウトしてはいけないと書かれています。
「デフォルトでは、最近のバージョンの Redis は、クライアントが何秒もアイドル状態の場合、クライアントとの接続を閉じません。接続は永久に開いたままになります。」