一、导入依赖
org.springframework.boot spring-boot-starter-data-redis
二、yml写入redis配置信息
三、编写redis配置类解决序列化问题和缓存时间问题
package com.setch.crodigy.datacenter.common.config.redis;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.cache.RedisCacheConfiguration;
import org.springframework.data.redis.cache.RedisCacheManager;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.RedisSerializationContext;
import java.time.Duration;
@Configuration
public class RedisTemplateConfig {
@Bean
public RedisTemplate
四、注入RedisTemplate
//注意这里的emRedisTemplate是上面配置类中为了解决序列化问题,否则存入的是一堆字母和字符
@Autowired
private RedisTemplate emRedisTemplate;
五、使用——向redis中保存数据
这里需要注意的一点是,前面我们配置了解决序列化的config类,这里需使用emRedisTemplate进行redis操作,若使用redisTemplate则会出现一堆字母和字符。
private void saveDevicesToRedis(JSON jsonPayload) {
JSON jsonInfo = JSONUtil.parse(jsonPayload.getByPath("info"));
JSON objectList = JSONUtil.parse(jsonInfo.getByPath("object_list"));
JSonArray deviceArray = JSONUtil.parseArray(objectList);
emRedisTemplate.opsForValue().set("deviceList",deviceArray);
}
这里直接使用emRedisTemplate.opsForValue().set(“deviceList”,deviceArray);即可存储到redis中并自动创建表deviceList
六、通过Redis可视化可查看到我们存入的数据
七、获取上面我们存储到里面的数据
这里需要注意的是 这里仍使用emRedisTemplate进行操作
public void queryDeviceFromRedis(){
if(emRedisTemplate.hasKey("deviceList")){
emRedisTemplate.opsForValue().get("deviceList");
}
}
至此 springBoot使用redis做存储和获取的操作完成。



