我有一個軟件項目,可以根據不同大小的對象創建一系列指紋(哈希)值。對象大小越大,當然散列計算的代價越高。哈希用於比較目的。緩存項替換算法
我現在希望緩存哈希值以提高後續比較的性能。對於在緩存中的任何給定的條目,我已經準備好以下指標:
- 命中次數
- 最後修改日期/時間
- 尺寸對象的散列
所以對我的問題。考慮到需要限制高速緩存的大小(將其限制爲特定數量的條目),取代高速緩存項目的平衡方法是什麼?
顯然,較大的對象哈希值較高,因此需要儘可能長時間地保留它們。但是,我想避免使用大量大對象填充緩存的情況,以防止未來(較小)的項目被緩存。
因此,根據我可用的度量標準(請參閱上文),我正在尋找一個很好的通用「公式」,用於在緩存變滿時過期(移除)緩存條目。
所有的想法,意見都表示讚賞。
您是否有上次訪問該條目的時間? – Erik 2011-03-11 20:39:15
是的,當條目被訪問時,「last mod」也會被更新。 – MER 2011-03-11 21:30:10