2009-03-06 8 views
0

私は仕事中にますますJava開発を始めている.Net開発者です。私はキャッシングに関する特定の質問を持っています。皆さんが解決したり提案したりできることを願っています。 JBossを実行しているLinuxボックスに展開されるJavaプロジェクトを開始しています。私たちは先取りを計画しており、キャッシング戦略について考えようとしています。私たちがしたいことの1つは、コンテンツを8時間程度キャッシュ可能になる可能性があるため、ページをキャッシュに出力することです。私はmod_cacheを見て始めました。これは私たちがやりたいことです。私が満たす必要があるもう1つの要件は、すべての要求に対して、カスタムロギングを行う必要があるということです。私は、基本的なリクエストURLといくつかの他のビジネスロジックのものを必要とし、データベースに入れてください。私の質問は次のとおりです。キャッシュファイルを出力してカスタムログを出力する方法 - jboss/java project

1)mod_cacheレベルでカスタムロギングプロセスを開始するにはどうすればよいですか?
2)これらのログメッセージを何らかの方法でキューに入れたいのは、すべてのリクエストでdbに移動したくないからです。これに取り組む最善の方法は何でしょうか?

私はあなたが持っている場合は、任意の提案や解決に感謝します!

答えて

1

私はあなたの計画のセットアップは、Apache HTTPDであると仮定 - Apacheのレベルでmod_cacheにもJavaの呼び出しに降りていないので、あなたがすることはできません)> JBossの

1 - > mod_cacheに - >のmod_proxy/mod_jkの。したがって、mod_cacheに何らかのロッキング機能があるかどうかを確認する必要があります。そうしないと、mod_cacheを変更して再コンパイルする必要があります。これはJavaとは関係がなく、私はあなたがJavaでそれを行うことはできないと思います。

2)mod_cacheがJBossを呼び出さずに独自の応答を処理している場合も、これはJavaの問題ではありません。

JBoss/Catalina/Tomcatは、JSPやその他のWebフレームワークによってレンダリングされたページを提供することになるとかなり高速です。キャッシュの有効期限を設定し、ブラウザがキャッシュを処理できるようにします。

0

代わりにmemcachedを使用します。このプログラムのTomcat/JBossラッパーモジュールがあるかどうかわかりません。これは、シリアル化して文字列のキー値を作成できるすべてのデータをキャッシュすることができます。

memcachedプロセスからデータを引き抜こうとする、またはキャッシュミス時にジェネレータ関数を呼び出す(そしてジェネレータの結果をキャッシュする)必要なアクセサ用のコードを書く必要があります。このアクセサ内で、キャッシュのヒットとミスをログに記録できます。

memcachedデーモンはC言語で書かれているので、java(または他の「現代的な」言語ランタイムのほとんど)とは異なり、データを保持して死に至ることはありません。

一方、mod_cacheにはいくつかのロギングフックがあります。たぶんあなたはそれを見て、これはあなたのJavaプロセスの負荷を軽減するので、

これはあなたが探しているものに近いですか?

関連する問題