11.2. 存储和检索数据
虽然 JCache API 不会扩展 java.util.Map not java.util.concurrent.ConcurrentMap,它提供商一个键/值 API 来存储和检索数据:
不同于标准 java.util.Map,javax.cache.Cache 附带了两种基本的放置方法,称为 put 和 getAndPut。前者返回 void,后者会返回与该密钥关联的先前值。因此,JCache 中的 java.util.Map.put (K) 相当于 javax.cache.Cache.getAndPut (K)。
提示
虽然 JCache API 仅涵盖独立缓存,但可以使用持久性存储进行插入,但已考虑了集群或发布程序。javax.cache.Cache 提供了两种放置方法的原因是,标准的 java.util.Map 放置调用强制使用实施器计算上一个值。在使用持久性存储时,或者缓存是分布式的,返回之前的值可能是昂贵的操作,用户通常无需使用返回值即可调用标准的 java.util.Map.put (K)。因此,JCache 用户需要考虑返回值是否与它们相关,在这种情况下,需要调用 javax.cache.Cache.getAndPut (K),否则他们可以调用 java.util.Map.put (K, V),这样可避免返回之前值的潜在代价。