在業(yè)務邏輯進程里經(jīng)常需要存取數(shù)據(jù) ,而且業(yè)務邏輯都是在event.php 這個進程里
由于會有多個進程,導致直接用變量 根本沒有辦法數(shù)據(jù)唯一性。
現(xiàn)在都是用redis 來做的,多個進程 和redis 進行讀取 。redis 需要不斷序列化 反序列化 存儲 讀取 。
我想用一個超全局的內(nèi)存對像 來代替redis 應該怎么做呢?
能不能在開始啟動的 start.php 里建一個 static 變量,公開出來 給每個worker 進程使用呢?
實際上就是多個進程共用內(nèi)存的方案。。
序列化和反序列化是必須的,即使你用共享內(nèi)存,也少不了序列化。
redis單機性能已經(jīng)很好,另外redis也可以分布式,沒必要在序列化上花費時間優(yōu)化。
workerman提供了一個全局變量組件,可以多個進程或者多服務器共享變量,實際上原理還是將數(shù)據(jù)序列化存儲到一個公共的地方。
http://doc3.workerman.net/component/global-data.html