先說(shuō)下業(yè)務(wù),在workerman中定時(shí)查詢一個(gè)接口返回?cái)?shù)據(jù),然后比對(duì),如果出現(xiàn)新的數(shù)據(jù),就加入數(shù)據(jù)庫(kù),然后判斷用戶是否中獎(jiǎng),并推送消息給用戶。問(wèn)題有如下
1.在workerman中怎么實(shí)現(xiàn)連接數(shù)據(jù)庫(kù),并執(zhí)行增刪改查操作。有沒(méi)有demo,在手冊(cè)沒(méi)看到
這樣操作的話,對(duì)數(shù)據(jù)庫(kù)會(huì)不會(huì)造成很大的壓力
后續(xù)補(bǔ)充
關(guān)于使用數(shù)據(jù)庫(kù): http://doc.workerman.net/640201
很普通的使用場(chǎng)景,一般不會(huì)有什么壓力;再有是否對(duì)數(shù)據(jù)庫(kù)會(huì)造成壓力這取決于多方面的因素吧,如:程序能力、硬件能力、并發(fā)能力、以及數(shù)據(jù)庫(kù)自身能力等等。
針對(duì)你的評(píng)論問(wèn)題,參考建議如下:
首先workerman是框架,業(yè)務(wù)代碼自然不要放在workerman里, 業(yè)務(wù)代碼一般都是在啟動(dòng)腳本的 onMessage 回調(diào)中編寫(xiě), 當(dāng)然針對(duì) onMessage 回調(diào)可以繼續(xù)拆分業(yè)務(wù)代碼,類(lèi)似MVC框架的做法,無(wú)非就是 call_user_func_array() 做路由。
根據(jù)你整體的使用場(chǎng)景,建議你單獨(dú)部署個(gè) taskWorker, 然后在taskWorker里進(jìn)行設(shè)置定時(shí)器,進(jìn)行一系列的如是否中獎(jiǎng)、是否有數(shù)據(jù)更新之類(lèi)業(yè)務(wù)操作,并推送消息給WorkerMan。
workerman onmessage 回調(diào)里發(fā)起 new AsyncTcpConnection(...taskWorker...), 當(dāng)收到來(lái)自 taskWorker 的業(yè)務(wù)消息時(shí), workerman 推送給用戶即可。