首先這個$_SESSION在gateway和worker之間也是通過Socket通訊的,這里就產(chǎn)生一個數(shù)據(jù)延遲問題,在項目的反復實踐中被證明存在問題。
當寫入$_SESSION數(shù)據(jù)量比較大時尤其明顯,比如寫入2k以上數(shù)據(jù)。即便強制同步了,由于進入包連續(xù)進入,立刻會觸發(fā)下一次的OnMessage,無論是否強制讀取,得到的都是上次更新之前的舊數(shù)據(jù)。
目前這個問題我們測試了多次,好象無解,只能通過外置的redis來處理,感覺變得更加復雜了。
Gateway 3.0.5 版本修復了Session延遲問題,看下Gateway版本是多少,如果低于3.0.5請升級試下。
查看Gateway版本方法參見手冊 http://doc2.workerman.net/get-gateway-version.html