package com.fastbee.iot.service.cache.impl; import com.fastbee.common.core.redis.RedisCache; import com.fastbee.common.core.redis.RedisKeyBuilder; import com.fastbee.iot.service.cache.IFirmwareCache; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.concurrent.TimeUnit; /** * 固件版本缓存 * @author gsb * @date 2022/10/25 11:37 */ @Service @Slf4j public class FirmwareCacheImpl implements IFirmwareCache { @Autowired private RedisCache redisCache; /** * 固件版本缓存 * @param firmwareId 固件ID * @param urlName 升级URL * @return */ @Override public void setFirmwareCache(Long firmwareId,String urlName){ String cachedKey = RedisKeyBuilder.buildFirmwareCachedKey(firmwareId); redisCache.setCacheObject(cachedKey,urlName,60*60*12, TimeUnit.SECONDS); } /** * 获取固件版本信息 * @param firmwareId 固件ID * @return 升级URL */ @Override public String getFirmwareCache(Long firmwareId){ String cachedKey = RedisKeyBuilder.buildFirmwareCachedKey(firmwareId); return redisCache.getCacheObject(cachedKey); } /** * 移除固件版本 * @param firmwareId 固件id */ @Override public void remove(Long firmwareId){ String cachedKey = RedisKeyBuilder.buildFirmwareCachedKey(firmwareId); redisCache.deleteObject(cachedKey); } }