MCPcopy
hub / github.com/TuiQiao/CBoard / HeapCacheManager

Class HeapCacheManager

src/main/java/org/cboard/cache/HeapCacheManager.java:10–34  ·  view source on GitHub ↗

Created by yfyuan on 2016/11/7.

Source from the content-addressed store, hash-verified

8 * Created by yfyuan on 2016/11/7.
9 */
10public class HeapCacheManager<T> implements CacheManager<T> {
11
12 private ConcurrentMap<String, CacheObject> cache = new ConcurrentHashMap<>();
13
14 @Override
15 public void put(String key, T data, long expire) {
16 cache.put(key, new CacheObject(new Date().getTime(), expire, data));
17 }
18
19 @Override
20 public T get(String key) {
21 CacheObject o = cache.get(key);
22 if (o == null || new Date().getTime() >= o.getT1() + o.getExpire())
23 return null;
24 else {
25 return (T) o.getD();
26 }
27 }
28
29 @Override
30 public void remove(String key) {
31 cache.remove(key);
32 }
33
34}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected