123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package com.zy.bms.redis;
- import com.alibaba.fastjson.JSON;
- import com.zy.bms.common.Constant;
- import com.zy.bms.model.DeviceLocation;
- import org.springframework.data.redis.core.RedisTemplate;
- import org.springframework.stereotype.Component;
- import javax.annotation.Resource;
- import java.util.concurrent.TimeUnit;
- /**
- * 设备信息,存放在缓存中的数据
- *
- * @author yang xiao kun
- * create on 2021/2/8
- */
- @Component
- public class DeviceManager {
- @Resource
- private RedisTemplate<String, String> redisTemplate;
- /**
- * 将最新位置信息保存至redis中
- * 24小时过期
- *
- * @param entity 位置信息
- */
- public void saveLocation(DeviceLocation entity) {
- redisTemplate.opsForValue()
- .set(Constant.REDIS_PREFIX_LOCATION + entity.getDeviceId(), JSON.toJSONString(entity), 24, TimeUnit.HOURS);
- }
- /**
- * 获取设备最新位置信息
- *
- * @param deviceId 设备ID
- */
- public DeviceLocation getLocation(String deviceId) {
- String json = redisTemplate.opsForValue().get(Constant.REDIS_PREFIX_LOCATION + deviceId);
- if (json == null || json.equals("")) return null;
- return JSON.parseObject(json, DeviceLocation.class);
- }
- }
|