本文整理汇总了Java中com.google.common.cache.Cache.asMap方法的典型用法代码示例。如果您正苦于以下问题:Java Cache.asMap方法的具体用法?Java Cache.asMap怎么用?Java Cache.asMap使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.google.common.cache.Cache
的用法示例。
在下文中一共展示了Cache.asMap方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: guavaCache
import com.google.common.cache.Cache; //导入方法依赖的package包/类
@Test
public void guavaCache() throws InterruptedException {
TesTicker ticker = new TesTicker();
Cache<String, Pojo> collection = CacheBuilder.newBuilder().expireAfterAccess(5, TimeUnit.SECONDS).ticker(ticker)
.<String, Pojo> build();
Pojo p1 = new Pojo("p1name", "p1val");
Pojo p2 = new Pojo("p2name", "p2val");
collection.put("p1", p1);
collection.put("p2", p2);
ticker.advance(3, TimeUnit.SECONDS);
Map<String, Pojo> map = collection.asMap();
assertTrue(map.containsKey("p1"));
// map.get("p1");
ticker.advance(3, TimeUnit.SECONDS);
assertEquals(2, collection.size());
assertFalse(map.containsKey("p1"));// 有清除过期操作
assertEquals(1, collection.size());
assertNull(collection.getIfPresent("p2"));
assertNull(collection.getIfPresent("p1"));// 有清除过期操作
assertEquals(0, collection.size());
}
示例2: asMap
import com.google.common.cache.Cache; //导入方法依赖的package包/类
@Override
public Map<String, Object> asMap(String cacheName) {
Cache<String, Object> cache = container.get(cacheName);
if (cache == null) {
return Collections.emptyMap();
}
Map<String, Object> map = cache.asMap();
if (map != null) {
return ImmutableMap.copyOf(map);
}
return Collections.emptyMap();
}
示例3: createMap
import com.google.common.cache.Cache; //导入方法依赖的package包/类
private static ConcurrentMap<NodeRef, LockState> createMap(long expiry, TimeUnit timeUnit)
{
Cache<NodeRef, LockState> cache = CacheBuilder.newBuilder()
.concurrencyLevel(32)
.expireAfterWrite(expiry, timeUnit)
.build();
return cache.asMap();
}