国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

wokerman的worker在什么時候連接數(shù)據(jù)庫呢?如mysql

xtjsxtj

我想一個worker一個長連接的mysql
還有比如我想在worker進程一啟動時就連接數(shù)據(jù)庫或一個其它接口,該在什么地方連接
onstart嗎?onstart是不是gateway進程也會觸發(fā)???那該如何區(qū)分呢?

8980 1 1
1個回答

walkor 打賞

使用單例,用的時候創(chuàng)建連接即可。
不用在onStart時創(chuàng)建。

在workerman中使用單例模式(在類靜態(tài)成員中保存對象/數(shù)據(jù)),在當前進程生命周期內(nèi)所有請求中都是共享可用的。比如數(shù)據(jù)庫單例,當使用數(shù)據(jù)庫時發(fā)現(xiàn)數(shù)據(jù)庫對象還沒創(chuàng)建,就立即創(chuàng)建一個,然后保存在數(shù)據(jù)庫類的靜態(tài)成員中,下次再次使用數(shù)據(jù)庫對象時,直接使用數(shù)據(jù)庫靜態(tài)成員那個數(shù)據(jù)庫對象即可,這樣當前進程內(nèi)的所有請求就都可以復(fù)用這個數(shù)據(jù)庫對象,也就是真正意義上的長連接,沒有頻繁的數(shù)據(jù)庫連接、權(quán)限驗證、斷開連接等開銷,非常高效。

workerman中自帶mysql類,也是使用的單例模式,只有在第一次 調(diào)用Db::instance(‘db_name’)->query(sql)時才創(chuàng)建一個數(shù)據(jù)庫連接對象,才會去連接數(shù)據(jù)庫。后面再調(diào)用Db::instance(‘db_name’)就直接復(fù)用了第一次創(chuàng)建的數(shù)據(jù)庫對象,不會在創(chuàng)建。

年代過于久遠,無法發(fā)表回答
??