2.在spring boot中配置Redis

在java的 spring boot项目中使用Redis做缓存。
操作是
1.首先在POM文件中加入redis依赖,
2.在application.yml中添加redis的路径、端口和密码
spring:
    redis:
        host: xxx.xxx.xxx.xxx
        port: xxxxx
        password: xxxx
3.在config包下面添加一个配置类
配置RedisTemplate
@Configuration
public class RedisConfig {
    @Bean
    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory)
    {
//        StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
//        RedisObjectSerializer redisObjectSerializer = new RedisObjectSerializer();
//        RedisTemplate<String, Object> template = new RedisTemplate<String, Object>();
//        template.setConnectionFactory(redisConnectionFactory);
//        template.setKeySerializer(stringRedisSerializer);
//        template.setValueSerializer(redisObjectSerializer);
//        return template;
        RedisTemplate<String, Object> template = new RedisTemplate<>();
        //使用fastjson序列化---此处使用的StringRedis序列化方式
        StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
        // value值的序列化采用 StringRedisSerializer
        template.setValueSerializer(stringRedisSerializer);
        template.setHashValueSerializer(stringRedisSerializer);
        // key的序列化采用StringRedisSerializer
        template.setKeySerializer(new StringRedisSerializer());
        template.setHashKeySerializer(new StringRedisSerializer());
        template.setConnectionFactory(redisConnectionFactory);
        return template;
    }
}
 
Redis知识补充:
Redis 可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为String(字符串)、List(列表)、Set(集合)、Hash(散列)和 Zset(有序集合)。
 
 
针对数据的“序列化/反序列化”,提供了多种可选择策略(RedisSerializer)
1.JdkSerializationRedisSerializer:POJO对象的存取场景,使用JDK本身序列化机制,将pojo类通过ObjectInputStream/ObjectOutputStream进行序列化操作,最终redis-server中将存储字节序列。是目前最常用的序列化策略。
2.StringRedisSerializer:Key或者value为字符串的场景,根据指定的charset对数据的字节序列编码成string,是“newString(bytes,charset)”和“string.getBytes(charset)”的直接封装。是最轻量级和高效的策略。
3.JacksonJsonRedisSerializer:jackson-json工具提供了javabean与json之间的转换能力,可以将pojo实例序列化成json格式存储在redis中,也可以将json格式的数据转换成pojo实例。因为jackson工具在序列化和反序列化时,需要明确指定Class类型,因此此策略封装起来稍微复杂。
4.OxmSerializer:提供了将javabean与xml之间的转换能力,目前可用的三方支持包括jaxb,apache-xmlbeans;redis存储的数据将是xml工具。不过使用此策略,编程将会有些难度,而且效率最低;不建议使用。【需要spring-oxm模块的支持】
 

猜你喜欢

转载自www.cnblogs.com/TJGKK/p/11075317.html
今日推荐