zoukankan      html  css  js  c++  java
  • SpringBoot配置RedisTemplate

    1、导入Maven依赖

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

    2、配置连接信息

    spring.redis.host=172.30.3.157
    spring.redis.port=6379
    spring.redis.password=

    3、配置Config 配置类,修改序列化方式,实体类需要实现 java.io.Serializable 接口

    @Configuration
    public class RedisConfig {
    
        @Bean
        public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
            RedisTemplate<String, Object> template = new RedisTemplate<>();
    
            template.setConnectionFactory(redisConnectionFactory);
    
            //配置序列化方式
            Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
    
            ObjectMapper obm=new ObjectMapper();
            // 指定要序列化的域,field,get和set,以及修饰符范围,ANY是都有包括private和publi
            obm.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
            // 指定序列化输入的类型,类必须是非final修饰的,final修饰的类,比如String,Integer等会跑出异常
            obm.activateDefaultTyping(LaissezFaireSubTypeValidator.instance,ObjectMapper.DefaultTyping.NON_FINAL);
    
            jackson2JsonRedisSerializer.setObjectMapper(obm);
    
            StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
            //key 采用String的序列化方式
            template.setKeySerializer(stringRedisSerializer);
            //hash
            template.setHashKeySerializer(stringRedisSerializer);
            //value
            template.setValueSerializer(jackson2JsonRedisSerializer);
            template.afterPropertiesSet();
            return template;
        }
    
    }

    说明:

    自动配置类
    org.springframework.boot.autoconfigure.data.redis.RedisProperties
    org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration
    默认连接工厂
    org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory

    4、在需要使用的地方注入ReidsTemplate

        @Autowired
        RedisTemplate redisTemplate;

    5、使用说明

        redisTemplate.opsForValue() 操作String
        redisTemplate.opsForList()  操作LIST
        redisTemplate.opsForSet()   操作SET
        redisTemplate.opsForHash()  操作HASH
        redisTemplate.opsForZSet()  操作ZSET

    6、Redis中文教程

    Redis中文网

  • 相关阅读:
    POJ 2492 并查集扩展(判断同性恋问题)
    菜鸟带你飞______DP基础26道水题
    HDU 1978 记忆化搜索(dfs+dp)
    HDU 1203 I NEED A OFFER (01背包&&概率dp)
    HDU 1176免费馅饼 DP数塔问题转化
    HDU 1069&&HDU 1087 (DP 最长序列之和)
    最短路&&最小生成树水题
    POJ 1797 Heavy Transportation (Dijkstra变形)
    数论学习笔记
    Codeforces Round #579 (Div. 3)
  • 原文地址:https://www.cnblogs.com/harriets-zhang/p/14517312.html
Copyright © 2011-2022 走看看