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