美文网首页
SpringBoot 使用 RedisTemplate 时,存入

SpringBoot 使用 RedisTemplate 时,存入

作者: KwokRoot | 来源:发表于2021-01-13 22:36 被阅读0次

    原因: RedisTemplate 默认使用:JdkSerializationRedisSerializer 序列化。

    解决方案:

    @Autowired
    RedisTemplate redisTemplate;
    
    修改为:
    
    @Autowired
    StringRedisTemplate stringRedisTemplate;
    

    拓展:

    1.SpringBoot 项目使用 Redis:

        ①`pom.xml` 添加依赖:
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-redis</artifactId>
            </dependency>
    
        ②配置`application.properties` :
    
            #Redis服务器地址
            spring.redis.host=127.0.0.1
            #Redis服务器连接端口
            spring.redis.port=6379
            #Redis服务器连接密码(默认为空)
            spring.redis.password=123456
            spring.redis.database=0
    
            #连接池最大连接数(使用负值表示没有限制)
            spring.redis.jedis.pool.max-active=8
            #连接池中的最大空闲连接
            spring.redis.jedis.pool.max-idle=8
            #连接池中的最小空闲连接
            spring.redis.jedis.pool.min-idle=3
            #连接池最大阻塞等待时间(使用负值表示没有限制)
            spring.redis.jedis.pool.max-wait=-1ms
            #连接超时时间(毫秒)
            spring.redis.timeout=30000
    
        ③注入,使用:
            
            @Autowired
            StringRedisTemplate stringRedisTemplate;
    
            stringRedisTemplate.opsForValue().set("key", "value");
            String value = stringRedisTemplate.opsForValue().get("key");
            System.out.println(value);
    
            stringRedisTemplate.opsForHash().entries("hash")
    

    2.SpringBoot 项目使用 Redis,切换 Database 方法:

        LettuceConnectionFactory connectionFactory = (LettuceConnectionFactory) stringRedisTemplate.getConnectionFactory();
        if (connectionFactory != null) {
            connectionFactory.setDatabase(16);
            stringRedisTemplate.setConnectionFactory(connectionFactory);
            //connectionFactory.resetConnection(); //很多资料中执行 resetConnection() 方法,不起作用
            connectionFactory.afterPropertiesSet(); //使用 afterPropertiesSet() 能正常切换
        }
    

    注:SpringBoot 版本:2.2.8.RELEASE。

    相关文章

      网友评论

          本文标题:SpringBoot 使用 RedisTemplate 时,存入

          本文链接:https://www.haomeiwen.com/subject/hgzpaktx.html