首頁  >  文章  >  後端開發  >  php可以監聽資料庫變化嗎

php可以監聽資料庫變化嗎

(*-*)浩
(*-*)浩原創
2019-10-18 13:50:573608瀏覽

php可以監聽資料庫變化嗎

怎麼監聽到資料庫的資料變化?

需要實作即時推播訊息。前端使用websocket,後端php與node.js都行。 (建議學習:PHP視訊教學

現在的問題是,前端監聽伺服器端某個資料表的資料變更。無論php socket或nodejs socket.io都只監聽socket埠的事件,但資料庫的變化又怎麼取得呢?

這個資料表的更新可能自己socket端的用戶,也可能不處在socket端,有時還可能是管理人員更改了資料。那麼,作為服務端的socket怎麼監聽資料變化的事件,然後推送回前端? !

資料庫可能是mysql,也可用mongo。

解決方法:

在應用程式層面一般來說就是用攔截器之類的方式來實作變化監聽,但是這種方式無法解決資料庫端直接修改。

資料庫層面一般三種方法:

1、類似Oracle等商用資料庫,提供事件監聽機制,可以主動通知連接方關於資料變更的通知;

2、採用觸發器,需要監控的表設定觸發器,然後呼叫php函數等觸發外部機制;

3、採用觸發器,需要監控的表設定觸發器,但只是寫入日誌表,外部仍需要輪詢該日誌表;

4、監控或掃描資料庫日誌,發現資料庫每項變更動作。

以上是php可以監聽資料庫變化嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn