私はWebSocketサーバーとして機能するJavaアプリケーションの開発を計画しています。基本的な考え方は、必要なすべてのデータを格納するArrayListを用意し、1分に1回更新することによって、SQLクエリ数を減らすことです。私の考えは、内部にデータが格納されているクラスと、クラスThreadを拡張してデータ格納クラスのデータを更新するクラスを作成することです。私の質問は、それが良いアプローチであるかどうか、そして他の選択肢は何かです。 WebSocketのスレッドが「一時停止」され、ユーザーがその瞬間にリクエストを送信する状況について、私は敬意を表します。理論的にはどうなるでしょうか?Javaスレッドはwebsocketを使用してデータとユーザーにデータを提供しています
0
A
答えて
1
あなたの質問ではなく、学術(知的好奇心)よりも実用的である場合、データベース
を使用し、その後、答えは簡単です:データベースを使用してください。
データベースの主な目的の1つは、データと同時クエリを変更する複数のスレッドを効率的かつ安全に処理することです。なぜホイールを再発明するか、特に非常にトリッキーな車輪?
H2 Database Engineのようなものは、あなたのニーズに適しているようです。この種の製品は、アプリ内に埋め込まれて実行することもできます。
データをストレージに保存する気にならない場合は、さらに高速で“in memory” databaseとして実行できます。
関連する問題
- 1. Tableauは全データ抽出を.csvとして提供します。
- 2. AWS.DynamoDB.DocumentClientがputにデータを提供していません
- 3. DbContextがデータベースからデータを提供していません
- 4. ユーザー提供の統合機能に "eval"を使用していますか?
- 5. ngCordovaバーコードスキャナーがスキャンしたデータにオブジェクトオブジェクトを提供しています
- 6. JOSSOはユーザー管理自体を提供していますか?
- 7. GarminはAPIのユーザーのステップカウントを提供していますか?
- 8. ブランチリンクはアンドロイドアプリでクリックして開くとデータを提供しません
- 9. 辞書をJavaを使用して提供する
- 10. Graphlab recommend()を使用して新規ユーザーに推奨を提供するには?
- 11. ユーザー入力を使用して名前の提案を提供する
- 12. oracleを使用してデータセットを提供していない
- 13. IMDBはムービーのIMDBIDをデータ(プレーンテキストファイル)で提供していますか?
- 14. Javaはタイムスタンプを提供していますか?..... DWR
- 15. Javaはどのカプセル化メカニズムを提供していますか?
- 16. ローカルサーバーを作成し、Androidデバイスにデータを提供します
- 17. Nginxはwww.example.comを提供していませんがexample.comを提供します
- 18. Javaライブラリを提供していますが、クラスを隠しています
- 19. ユーザーが提供するデータを次のアクティビティに渡す方法
- 20. IISは接続された各ユーザーにスレッドを提供しますか?
- 21. ウェブでJSONを使用して、私のデータはそのにサービスを提供するデータを以下の私を見る私はidとagenda_tempデータが必要
- 22. データとオブジェクトタグを提供する直接
- 23. rabbitmqが提供するwebstomp websocketからデータを送受信する方法は?
- 24. Marathonはエラースケーリングアプリケーションを提供しています。「JSON形式のデータを指定してください。」
- 25. .Net ClientWebSocketを使用してWebSocketからデータを取得
- 26. Jettyを使用してJSPファイルを提供するには?
- 27. PHPを使用して.flvファイルを提供するには?
- 28. スレッドを使用してグリッドビューにデータを設定する
- 29. プリペアドステートメントのパラメータにデータが提供されていません。
- 30. SpringバッチJMSItemReaderがセッションのトランザクションモードで重複データを提供しています
ハムは覚えているのか、本当のプロジェットのためにこれをやっているのですか?本当のプロジェクトでは、まずHibernateやEclipseLinkのようなORMを使うことを学ぶことをお勧めします。**よく使われています**(悪いことに、最悪です...)。 Aniway、SOは既存のコードをデバッグすることですが、あなたは質問が広すぎるか、または原初的に意見に基づいているので、話題にはなりません。最後に、websocketのようなものを使用したいのであれば、本当のwebsocketとjava websocketclientを使用しないのはなぜですか?学習するためのものでなければ、ホイールをやり直す必要はありません。 – Walfrat
これに答えるには、アプリがこのArrayListの中に格納できると思うデータ量と予想されるスループットを知る必要があります。 –
配列リストに配列リストがあり、約100個のオブジェクトを格納し、約10個のフィールドを格納します。入力タイプはJSONになります。ユーザーIDとトークンとデータ要求を与えます – Berrigan