工作中想要使用redis實現訂閱發佈實時更新數據功能,但是在使用phpredis實現subscribe時,執行文件訂閱,剛開始還正常,可是再等一會兒就會出現報錯,中斷:
經過幾次測試基本是固定的1分鐘超時,基本判定是php配置或者redis配置問題,查詢資料(參考:https://www.cnblogs.com/huanxiyun/articles/5702797.html)。
在subscribe前設置:
$redis->setOption(\Redis::OPT_READ_TIMEOUT, -1);設置爲-1,0是不管用的。奇怪的是connect的時候timeout默認爲0表示時間不限。如果connect的timeout傳遞了0,但是subscribe超時還是由default_socket_timeout說了算。default_socket_timeout設置爲-1
時,纔不會超時。