springBoot解决Redis序列化存储乱码问题

    技术2022-07-11  78

    我用的springboot版本是:

    <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.8.RELEASE</version> </parent>

    Redis的启动器依赖:

    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>

    第一种方法:

    在你需要调用RedisTemplate的类中引入以下代码(通过StringRedisSerializer来进行序列化)

    @Autowired private RedisTemplate redisTemplate; //设置redis,防止key乱码 @Autowired(required = false) public void setRedisTemplate(RedisTemplate redisTemplate) { RedisSerializer stringSerializer = new StringRedisSerializer(); redisTemplate.setKeySerializer(stringSerializer); redisTemplate.setValueSerializer(stringSerializer); redisTemplate.setHashKeySerializer(stringSerializer); redisTemplate.setHashValueSerializer(stringSerializer); this.redisTemplate = redisTemplate; }

    第二种:

    将 @Autowired private RedisTemplate<String, String> redisTemplate; 改成 @Autowired private StringRedisTemplate redisTemplate;

     

    Processed: 0.015, SQL: 9