package hae.cache; import com.github.benmanes.caffeine.cache.Cache; import com.github.benmanes.caffeine.cache.Caffeine; import java.util.Map; import java.util.concurrent.TimeUnit; public class DataCache { private static final int MAX_SIZE = 100000; private static final int EXPIRE_DURATION = 4; private static final Cache>> cache = Caffeine.newBuilder() .maximumSize(MAX_SIZE) .expireAfterWrite(EXPIRE_DURATION, TimeUnit.HOURS) .build(); public static void put(String key, Map> value) { cache.put(key, value); } public static Map> get(String key) { return cache.getIfPresent(key); } public static void clear() { cache.invalidateAll(); } }