既存の Web アプリケーションに監視モジュールを実装する必要があります。アプリケーションの目的は、実行時に実行された各メソッドでかかった時間を記録し、2 つの監視テーブルに保存することです。アプリケーションでは多くのメソッド呼び出しが発生しているため、メソッドが実行されるたびにテーブルに保存することはできません.Spring aop を使用して時間をインターセプトしました.redis を使用してデータをキャッシュし、10 分ごとにデータを取得しましたキャッシュからデータベースに保存します.しかし、redisは新しい接続を作成し続け、アプリケーションに悪夢を与えるので、厄介なアイデアのようです.これを行う別の方法はありますか.ファイルに書き込み、そこからデータを取得することを検討しました.しかし、それはリソースを消費するソリューションでもあるようです。
質問する
519 次
1 に答える
1
すべてを Java アプリケーションに格納することをお勧めします。いくつかの統計が必要な場合は、この情報を HashMap で追跡し、別のスレッドからデータベースに 10 分ごとに書き込むことができます。最小/最大/平均時間は多くのメモリを必要とせず、データベースに書き込まれると統計をリセットできます。
なんらかの理由でそれがニーズに合わない場合、Redis は高速である必要があり、統計の計算にも役立ちます。接続プールをセットアップして、毎回新しいネットワーク接続を作成しないようにします。次に、Redis クライアントで非同期書き込み (パイプライン処理) を使用して、書き込みを高速化します。Jedis と JRedis はどちらもこれをサポートしています。
于 2012-07-22T15:19:22.577 に答える