LinkedHashMapから拡張されたマップを使用してキャッシュを実装しています(removeEldestEntryを実装できます)。古い実装では、定期的なハッシュマップが使用され、設定された間隔でリフレッシュされました。私はどのようにキャッシュのデータを最新に保つことができるのだろうかと思っていた。私はLRUのポイントを台無しにすることなく、特定の時間にちょうどリフレッシュすることができますか?エントリのタイムスタンプをDBに照会するのは特にコストがかかりますか?LRUキャッシュのリフレッシュ
答えて
私はLinkedHashMapを使って、アクセスタイムとタイムスタンプのためにdbと照合して注文しました。これは魅力的に機能し、アプリケーションのメモリ負荷を大幅に削減しました。
なぜ使用しないのですかOS Cache - ホイールを改造することはありません。
その他のキャッシュについては、ほとんどの場合、ライブ設定の時間があります –
これは非常に古いプロジェクトであり、元の開発者が残っていないためです。私は新しい依存関係を追加することを避け、単一のファイルを再配線したいと思います。 –
@Bobnix。おそらく、私はあなたが角を切るべきではないと思っています。 :) –
- 1. Erlang LRUキャッシュ
- 2. SimplescalarキャッシュLRU実装
- 3. LRUキャッシュのSQL/HQL DELETEステートメント?
- 4. JavascriptでのLRUキャッシュ実装
- 5. LRUキャッシュの同時バージョン
- 6. 操作PythonのLRUキャッシュ
- 7. 並行LRUキャッシュの実装
- 8. Rust RAM限定LRUキャッシュ?
- 9. 削除前にJava LRUキャッシュの最長取得
- 10. backbone.jsキャッシュのコレクションとリフレッシュ
- 11. Redis maxmemory-policy:volatile-lruとallkeys-lruのパフォーマンス
- 12. Jquery Datatableでのソート・キャッシュのリフレッシュ
- 13. JavaのString PoolはLRUキャッシュのように動作しますか?
- 14. LRUキャッシュのJavaインプリメンテーションでミスが発生した場合のSETアクション
- 15. はこのように表現/キャッシュ(リフレッシュ)
- 16. Python LRUを使用したサイズベースのキャッシュにOrderedDictを使用する
- 17. LRUキャッシュ:アプリケーション全体で1つだけ初期化しますか?
- 18. エラー:pkg_resources.DistributionNotFound:「backports.functools-LRUキャッシュ」分布が見つからなかったとpylint
- 19. MvxCachingFragmentCompatActivityキャッシュされたフラグメントをリフレッシュ
- 20. キャッシュ可能な強制的なリフレッシュ
- 21. LRUとreduxストアストラテジーの使用
- 22. Redis LRU-Eviction、Evicted Item Persistance
- 23. 特定の画像のキャッシュをリフレッシュする(アバターアップロード)
- 24. ヘイルキャストでキャッシュの近くでのみリフレッシュする方法
- 25. AppDomainがリフレッシュされたときのASP.NETの永続キャッシュ
- 26. デバイスの機能と空きメモリに応じてLRUキャッシュのサイズを変更する
- 27. RDDキャッシュ退去のLRUポリシーはどのようにapacheで動作しますか?
- 28. LRUポリシーを使用するデフォルトのメモリキャッシュ
- 29. 変更されたJavaScriptのキャッシュをFirebugでリフレッシュしない
- 30. 画像をリフレッシュするためのプリロード、キャッシュ
http://download.oracle.com/javase/1.4.2/docs/api/java/util/LinkedHashMap.html#removeEldestEntry%28java.util.Map.Entry%29 EldestEntryは時間ベースではなく_numberベースです。ベース。 LRUでは、最小限の生存時間が必要です。時間に制約があるため、EledestEntryは長さを制限します。サイズの制約です。私は、EldestEntryを使用してLRUをどのように実装する予定ですか? – Nishant
@Nishant、私はLRUが単に取り除かれたものを統治したという印象を受けました。私がサイズの制約にぶつかったとき、私は最も最近使われていなかったオブジェクトを削除したい。 –
LRU - 私が知っているように、最低使用頻度のあるエントリを削除する必要があります。つまり、最も頻繁に要求されていないオブジェクトを削除したいとします。さて、あなたのハッシュマップの大きさ、例えば100と100番目の要素が最も頻繁に使用されています。それを削除したいですか? (1)オブジェクトが追加されたときのタイムスタンプで優先度を決定する優先度キューを使用する(2)LHMを使用するが、get()が呼び出されるたびにエントリを削除してからLRUを模倣する。 – Nishant