springboot整合redis

Posted gongtaodj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot整合redis相关的知识,希望对你有一定的参考价值。

Redis中存储键值对时会出现,key:xACxEDx00x05tx00x1xxxxxxx  value:xACxEDx00x05tx00 xxxxxx 的情况:

原因:springboot默认使用JdkSerializationRedisSerializer序列化方式

解决:需要改成StringRedisSerializer或直接使用Jedis的方式

 

@Configuration
@EnableCaching
public class RedisConfig extends CachingConfigurerSupport {
/**
     * redis模板,存储关键字是字符串,值是Jdk序列化
     * @param factory
     * @return
     * @Description:
     */
    @Bean
    public RedisTemplate<?, ?> redisTemplate(RedisConnectionFactory factory) {
        RedisTemplate<?, ?> redisTemplate = new RedisTemplate<>();
        redisTemplate.setConnectionFactory(factory);
        //key序列化方式;但是如果方法上有Long等非String类型的话,会报类型转换错误;
        RedisSerializer<String> redisSerializer = new StringRedisSerializer();//Long类型不可以会出现异常信息;
        redisTemplate.setKeySerializer(redisSerializer);
        redisTemplate.setHashKeySerializer(redisSerializer);

        //默认使用JdkSerializationRedisSerializer序列化方式;会出现乱码,改成StringRedisSerializer
        StringRedisSerializer stringSerializer = new StringRedisSerializer();
        redisTemplate.setKeySerializer(stringSerializer);
        redisTemplate.setValueSerializer(stringSerializer);
        redisTemplate.setHashKeySerializer(stringSerializer);
        redisTemplate.setHashValueSerializer(stringSerializer);
        return redisTemplate;
    }
}

 

以上是关于springboot整合redis的主要内容,如果未能解决你的问题,请参考以下文章

springboot整合mybatis,redis,代码

springboot整合mybatis,redis,代码

Shiro整合Springboot缓存之Redis实现

3分钟搞定springboot整合redis

springboot整合mybatis,redis,代码

完美取代hashmap,SpringBoot整合Redis缓存DB数据