Spring Boot Redis使用
添加依赖
<!-- redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
配置Redis 地址
spring:
redis:
host: localhost
port: 6379
database: 0
配置RedisTemplate
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) {
RedisTemplate<String, Object> template = new RedisTemplate<>();
template.setConnectionFactory(connectionFactory);
//使用Jackson2JsonRedisSerializer来序列化和反序列化redis的value值(默认使用JDK的序列化方式)
Jackson2JsonRedisSerializer serializer = new Jackson2JsonRedisSerializer(Object.class);
ObjectMapper mapper = new ObjectMapper();
mapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
mapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
serializer.setObjectMapper(mapper);
template.setValueSerializer(serializer);
//使用StringRedisSerializer来序列化和反序列化redis的key值
template.setKeySerializer(new StringRedisSerializer());
template.afterPropertiesSet();
return template;
}
}
使用
@RestController
@RequestMapping(value = "/api/user")
public class UserController {
@Resource
private RedisTemplate<String, Object> redisTemplate;
@RequestMapping(value = "/addToRedis", method = RequestMethod.GET)
public Object addToRedis() {
UserDO record = new UserDO();
record.setCreator("moshenglei");
record.setGmtCreated(new Date());
record.setModifier("moshenglei");
record.setGmtModified(new Date());
record.setIsDeleted("N");
record.setName("莫胜磊");
redisTemplate.opsForValue().set("haha", record);
return "success";
}
@RequestMapping(value = "/getFromRedis", method = RequestMethod.GET)
public Object getFromRedis() {
UserDO record = (UserDO)redisTemplate.opsForValue().get("haha");
return record;
}
}
网友评论