整合Redis自定义注入模板操作Bean实例

本质:是对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集群环境环境(3主3从)

加入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;
    }

猜你喜欢

转载自blog.csdn.net/weixin_37841366/article/details/109101260