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