0

私のアプリケーションでは、データベースからキャッシュHashMapを取得しての形でキャッシュを構築しkey-valueます。
ここで、このキャッシュに何かを追加する必要があります。ここで行っているのは、この新しい値をデータベースに更新または挿入し、キャッシュを更新して、更新されたデータベースによってデータが入力されるようにすることです。
そのために私がやっていることは -
1. 私は2つを取っているMapsのでcache1cache21つのキャッシュが使用中の場合、他のキャッシュは空のキャッシュになります以前のキャッシュをクリアします。3.すべてのデータは、この新しいキャッシュによって提供されます。私のアプローチがうまくいっているのか、それとももっと生産的で効率的な何か他のことができるのか知りたいだけです。


これを行うために2つのマップは必要ないと感じているためですが、1つしか使用しないとデータの精度に影響を与える可能性があると思います.

編集:
回答する前に、アプリケーションについて知っておく必要があることがあります。
1. データはそれほど大きくも小さくもありません。
2. データベースからキャッシュを作成するのに約 2 ~ 3 分かかります。
3. 更新頻度はそれほど高くなく、1 日に 1 ~ 2 回必要です。
4. アプリケーションは 24 時間実行されます (サーバーの再起動は早朝に 1 日 1 回)

4

2 に答える 2

3

試すことができるのは EHCache です。ここで例を見つけることができます: ehcache

于 2012-11-29T05:50:24.883 に答える
0

また、単純なキャッシュを実装する場合は、SoftReferenceを使用できます。これは、HashMapを使用するよりもはるかに優れたキャッシュの実装方法です。

HashMapへの参照を保存すると、オブジェクトへの強力な参照が保存されます。オブジェクトをに設定するとnull、マップに強力な参照があるため、ガベージコレクションは行われません。

キャッシュの詳細については、ここに素晴らしいリンクがあります: SoftReferenceに基づくキャッシュ

于 2012-11-29T06:21:39.580 に答える