私はJavascriptのWebアプリケーションを持っており、Node.JSをサーバーコンポーネントとして使用しています。データベースをポーリングして値を得る最良の方法は何ですか?
私は自分のアプリケーションをデータベースに統合したいと思っています。このデータベースには、頻繁に(数分ごとに)変更できる「ステータス」というフィールドを持つテーブルがあります。
ステータスフィールドの値がリアルタイムでわかるようにWebアプリケーションに通知します。
私の現在の方法:
私はcurrenltyは、私のNode.jsサーバにHTTPリクエストを送信するJavscriptでAJAX機能を持っています。 Node.jsサーバーはデータベースからレコードを選択し、その結果をAJAX関数に返します。この関数は結果を画面に表示します。毎秒機能を実行するための間隔を設定しました。
これは素晴らしいオプションのようではなく、私のサーバー上で多くのトラフィックを引き起こしています。
SQLフィールドをリアルタイムで監視する適切な方法は何ですか?
変数をメモリ内に保持し、データベースのポーリングをまったく行わないのはなぜでしょうか?ステータスが変化したら、メモリ内とデータベース内の値を更新します。これはあなたのユースケースとリソースを条件にしています – vol7ron
私は状態の変更を制御しません。このフィールドはサードパーティのデータベースからのものです。私は価値が何であるか知るために私のアプリが必要です。 – cleverpaul
サードパーティのデータベースですか?あなたはそれに直接アクセスできますか?何かがチェックされずに更新されたとき、または接続をリフレッシュしてそれをあなたにプッシュするときに、あなたはどのようなことを知っていますか?あなたが管理しているデータベースであれば、Firebaseをチェックすることをお勧めします。そうでなければ、私は他人の言うことを知りたいのです。 Webソケットとメモリ管理を備えた簡単な設定のようです。 – vol7ron