私はプロジェクトのパフォーマンス向上に取り組んでいます(Springプロジェクトでは、7ヶ月程度の経験がありません)メモリの大部分がキャッシング中に利用されていることを示します。いくつかのR & Dの後、私はEhcacheが私を助けてくれるかもしれないことを発見しました。私のプロジェクトでは、スタティックなHashMapを使用してサーバーのデータをDBからロードし、アプリケーション全体でこのマップを使用しています。私はEcacheとSpring(春のブートではない)のいくつかの例を見ましたが、どこにHashMapsが存在する既存のコードに置き換えるのか理解できません。また、他のアドバイスや提案がある場合は、投稿してください。私は大きな助けになるでしょう..!同じ質問については、stackoverflowにいくつかのリンクがありますが、彼らはそれらのための答えを持っていない..助けてください..!ehcacheとspringを使用してキャッシング用のデータを読み込んで既存のキャッシング機構をオーバーライドする
0
A
答えて
2
データをHashMapに保存し、EHCacheを使用する場合は、このエントリがキャッシュ内に既に存在する場合は、1つのエントリのアクセス時間が今までの10倍以上になります。 「ヒットヒットのランタイム比較」(In Process Java Cache Benchmarks)を参照してください。
メモリに保存する場合は、データが要求されたときにリロードする必要があるため、アクセス時間が大幅に長くなります。
アプリケーションがHashMap上で動作し、HashMapsのロード後にDBにアクセスする必要がない場合は、実際にアプリケーションに合わせた完璧なカスタムキャッシュが既に用意されています。
+0
ああ、あなたの共有リンクを通過した後、私は今それを実現します。しかし、それでも私のDAOファイルの少なくとも1つについて自分自身でテストし、そのやり方を知りたいと思っていました。私の疑問に何かを加えることができれば、それは素晴らしいだろう.. .. :) –
関連する問題
- 1. ehcacheでjava.util.Mapをキャッシング
- 2. ehcache - 永続的キャッシング
- 3. Clusterd Springアプリケーション用のHazelcastキャッシング
- 4. AFNetworkingを使用してファイルを保存/キャッシングし、オンラインアクセスとオフラインアクセスに使用する
- 5. SpringのMongoDB統合で@Cacheableを使用したキャッシングspringブートとredisでの
- 6. ハイバーネイトを使用したキャッシング
- 7. EhcacheがSpringキャッシングで動作しない注釈
- 8. Terracotta Enterprise SuiteなしでEhcacheを使用して分散キャッシングを実装することは可能ですか?
- 9. スロットリングにキャッシング機構を使用するのは問題ですか?
- 10. アンドロイドアプリでキャッシングされていないwebviewを読み込んでいます
- 11. WCFでキャッシングを使用する方法
- 12. 火災基地から画像を読み込み、swift3をキャッシング
- 13. データの取得とキャッシングにAureliaの約束を使用
- 14. SQLiteのキャッシングとアプリケーションのキャッシング
- 15. 任意のタイプのキャッシング機構
- 16. IOSアプリケーションとキャッシングでWebサービスを使用しています
- 17. キャッシングを使用するPythonパッケージ
- 18. キャッシングAPI /インターフェイスをモデルとして使用する場合
- 19. Doctine 2.0キャッシングとDoctrineの2.xのを使用してデフォルト
- 20. ワニスを使用してcertian IPのキャッシングを無効にする
- 21. Doctrine Memcachedを使用した結果キャッシング
- 22. Castle Windsorを使用したAOPキャッシング
- 23. result_cacheヒントを使用したJDBCキャッシング
- 24. サービスワーカーを使用したAjaxキャッシング
- 25. 可変パラメタを使用したNginxキャッシング
- 26. Spring RESTキャッシングRSS AbstractRssFeedView
- 27. Entity Frameworkでのキャッシングのジェネリックの使用
- 28. キャッシング関連のデータ
- 29. Google Analyticsのキャッシングを活用する
- 30. ブラウザのキャッシングを活用する
「HashMaps everywhere」?彼らは1つの局面になければならない。それはあなたの問題の大きな部分です。それらを1つに統合することであなたを助けることはできません。シャベルを手に入れて掘りはじめましょう。 'Everywhere'からの – duffymo
私は、データをキャッシュしているすべてのデータベーステーブルについて説明します。巨大なデータサイズのためにたくさんのメモリを食べている場所が2つしかありません。 :) –
キャッシング、ロギング、トランザクションは、アスペクト指向プログラミングが生まれたものです。自分自身をロールバックしたHashMapsからEhCacheまたは他の技術に切り替えることで、そのような巨大なエントリを小さくすることはできません。 EhCacheにも同じ問題があります。このような大きなオブジェクトをキャッシュする必要があるかどうか再考してください。どれくらい頻繁に使用されますか?古典的な時間/空間のトレードオフを行う必要があります。十分なスペースがあればキャッシュして時間を節約します。あなたがしなければ時間を費やします。あなたの問題はテクノロジーではありません。 – duffymo