本质:是对Redis的操作组件RedisTemplate和StringRedisTemplate做自定义注入配置
@Configuration
public class RedisConfig {
@Autowired
private RedisConnectionFactory connectionFactory;
@Bean
public RedisTemplate redisTemplate(){
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(connectionFactory);
//设置key、value序列化策略
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
//针对hash数据结构的key而设置的
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
redisTemplate.afterPropertiesSet();
return redisTemplate;
}
//因为更多的操作都是基于字符串的
@Bean
public StringRedisTemplate stringRedisTemplate(){
StringRedisTemplate stringRedisTemplate = new StringRedisTemplate();
stringRedisTemplate.setConnectionFactory(connectionFactory);
return stringRedisTemplate;
}
}
加入redis的配置
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.password=
#连接池
spring.redis.jedis.pool.min-idle=100
spring.redis.jedis.pool.max-idle=300
spring.redis.jedis.pool.max-active=500
controller
@Autowired
private StringRedisTemplate stringRedisTemplate;
@GetMapping("string/data")
public BaseResponse stringDate(@RequestParam String name){
BaseResponse response = new BaseResponse(StatusCode.Success);
try{
stringRedisTemplate.opsForValue().set("myName",name);
}
catch (Exception e){
response = new BaseResponse(StatusCode.Fail);
}
return response;
}