簡體   English   中英

成本加權 java 緩存

[英]Cost weighted java cache

我想要一個基於成本權重進行管理的緩存庫。

我有很多不同類型的數據具有完全相同的結構要緩存,但是緩存每種不同類型的成本不同,有些檢索起來非常便宜,有些很昂貴。

我想要一種可以向緩存庫添加權重的方法,這樣它就可以有效地緩存以最大程度地減少緩存未命中。

Ehcache 2Policy

將權重與每個值關聯,使其實現您自己的接口,例如Weightable ,並使用:

public class WeightPolicy extends AbstractPolicy {
    @Override
    public String getName() {
        return "Weight";
    }

    @Override
    public boolean compare(Element element1, Element element2) {
        return ((Weightable) element1.getObjectValue()).getWeight() < ((Weightable) element2.getObjectValue()).getWeight();
    }
}

如果鍵和值是Serializable ,則可以使用getSerializedSize() ,盡管效率很低。

return element1.getSerializedSize() < element2.getSerializedSize();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM