代码之家  ›  专栏  ›  技术社区  ›  Raj

具有多个密钥的缓存

  •  0
  • Raj  · 技术社区  · 14 年前

    对于两个值,可以使用pair,幸运的是java(un)没有pair。

    2 回复  |  直到 7 年前
        1
  •  3
  •   matt b    14 年前

    假设您只想检索给定的缓存值 全部的 对于这些钥匙,你只需做一个 CacheKey

    map.put(new CacheKey(keyA, keyB, keyC), value);
    map.get(new CacheKey(keyA, keyB, keyC));
    //etc...
    

    equals() hashcode() 缓存键 班级。

    但是,如果您打算大量使用此映射或哈希表作为缓存,则应该认真考虑重新使用现有的缓存库,除非您要处理诸如限制存储在映射中的条目数、选择在达到限制时收回哪些条目等问题。 EhCache 使用起来非常简单,并且有很多配置选项-缓存可以有最大的条目数或最大的内存大小,缓存可以溢出到磁盘,等等。

        2
  •  0
  •   Sjoerd    14 年前

    参考 如果对象有多个键,则不必多次存储该对象。

    幸运的是,这是Java中的默认值。