相關使用情況:緩存和計算映射
read input
if (correlation-id is already generated for this input)
{
lookup the correlation-id from the cache;
return correlation-id;
}
else
{
generate the correlation-id;
cache it;
return correlation-id;
}
約束: - 輸入記錄的數量可以去,直到500K因此不希望使用 強引用。 - 不希望產生一個單向哈希截至目前(我知道,如果我們 使用單向散列那麼就沒有必要緩存)
有人能告訴我如何使用ComputingMap這一點。我在問這個 ,因爲javadoc中有一個註釋說「它使用弱/軟按鍵的等同性 」。
什麼類型的對象是你的鑰匙和價值觀? – 2010-01-15 00:08:57
現在的關鍵是一個Tuple對象(正確覆蓋equals和hasCode)。你爲什麼問?是基於我用於鍵的輸入類型的用法。 該值始終是一個字符串 – 2010-01-15 00:13:15
那麼,就您而言,我不確定弱或弱的引用有多大意義。無論您的特定元組或id字符串是否發生垃圾收集,似乎都與您是否希望條目在緩存中被認爲是陳舊的無關。您可以考慮使用過期時間(例如'.expiration(10,TimeUnit.MINUTES)')。將來你可以指定一個大小上限。 – 2010-01-15 21:16:56