package com.tievd.jyz.cache; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; import com.tievd.jyz.mqtt.dto.MqttParamDTO; import java.util.Map; import java.util.concurrent.TimeUnit; public class EventCodeResourceCache { /** 图片临时缓存,用于事件还未生成时,接收到图片 * eventCode:oilRecordId */ private final static Cache EVENT_CODE_RESOURCE_CACHE_MAP = CacheBuilder.newBuilder().expireAfterWrite(10, TimeUnit.MINUTES).build(); /** * 压入 */ public static void put(String eventCode, MqttParamDTO data){ EVENT_CODE_RESOURCE_CACHE_MAP.put(eventCode, data); } /** * 获取 * @param eventCode * @return */ public static MqttParamDTO get(String eventCode){ return EVENT_CODE_RESOURCE_CACHE_MAP.getIfPresent(eventCode); } /** * 移除 * @param eventCode * @return */ public static void remove(String eventCode){ EVENT_CODE_RESOURCE_CACHE_MAP.invalidate(eventCode); } public static Map asMap() { return EVENT_CODE_RESOURCE_CACHE_MAP.asMap(); } }