首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >成本加权java缓存

成本加权java缓存
EN

Stack Overflow用户
提问于 2020-12-05 20:33:39
回答 1查看 74关注 0票数 2

我想要一个基于成本权重进行管理的缓存库。

我有许多完全相同结构的不同类型的数据要缓存,但它的成本不同,缓存每一种不同的类型,一些非常便宜,一些是昂贵的。

我想要一种方法,我可以在缓存库中添加一个权重,这样它就可以有效地缓存,以最大限度地减少缓存未命中。

EN

回答 1

Stack Overflow用户

发布于 2020-12-08 17:51:02

Ehcache 2得了Policy

为每个值关联一个权重,使其实现您自己的接口,例如Weightable,并使用:

代码语言:javascript
复制
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(),尽管效率非常低。

代码语言:javascript
复制
return element1.getSerializedSize() < element2.getSerializedSize();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65156964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档