SpringBoot 통합 SpringDataRedis 의 예제 코드

본 고 는 SpringBoot 가 SpringDataRedis 프레임 워 크 를 어떻게 통합 하 는 지 소개 하고 자 한다.SpringDataRedis 의 구체 적 인 내용 은 앞에서 이미 소개 되 었 으 니 스스로 참고 할 수 있다.
1.프로젝트 생 성 의존 도 추가
『8195』SpringBoot 프로젝트 를 만 들 고 다음 과 같은 의존 도 를 추가 합 니 다.

<dependencies>
    <!-- springBoot      -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- Spring Data Redis      -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
        <version>2.9.0</version>
    </dependency>
</dependencies>
2.application.properties 파일 설정

spring.redis.jedis.pool.max-idle=10
spring.redis.jedis.pool.min-idle=5
spring.redis.pool.max-total=20
spring.redis.hostName=192.168.88.120
spring.redis.port=6379
3.Redis 설정 클래스 추가
  Redis 의 자바 설정 클래스 를 추가 하고 관련 정 보 를 설정 합 니 다.

/**
 * @program: springboot-redis-demo
 * @description: Redis    
 * @author:     
 * @create: 2019-05-20 23:40
 */
@Configuration
public class RedisConfig {

    /**
     * 1.  JedisPoolConfig  。              
     * @ConfigurationProperties:               。
     */
    @Bean
    @ConfigurationProperties(prefix="spring.redis.pool")
    public JedisPoolConfig jedisPoolConfig(){
        JedisPoolConfig config = new JedisPoolConfig();
		/*//     
		config.setMaxIdle(10);
		//     
		config.setMinIdle(5);
		//     
		config.setMaxTotal(20);*/
        System.out.println("   :"+config.getMaxIdle());
        System.out.println("   :"+config.getMinIdle());
        System.out.println("   :"+config.getMaxTotal());
        return config;
    }

    /**
     * 2.  JedisConnectionFactory:  redis    
     */
    @Bean
    @ConfigurationProperties(prefix="spring.redis")
    public JedisConnectionFactory jedisConnectionFactory(JedisPoolConfig config){
        System.out.println("    :"+config.getMaxIdle());
        System.out.println("    :"+config.getMinIdle());
        System.out.println("    :"+config.getMaxTotal());

        JedisConnectionFactory factory = new JedisConnectionFactory();
        //          
        factory.setPoolConfig(config);
        //    Redis   
        //    
		/*factory.setHostName("192.168.70.128");
		//  
		factory.setPort(6379);*/
        return factory;
    }

    /**
     * 3.  RedisTemplate:    Redis     
     */
    @Bean
    public RedisTemplate<String,Object> redisTemplate(JedisConnectionFactory factory){
        RedisTemplate<String, Object> template = new RedisTemplate<>();
        //  
        template.setConnectionFactory(factory);

        // key      
        template.setKeySerializer(new StringRedisSerializer());
        // value      
        template.setValueSerializer(new StringRedisSerializer());

        return template;
    }
}
4.pojo 추가

/**
 * @program: springboot-redis-demo
 * @description: Users
 * @author:     
 * @create: 2019-05-20 23:47
 */
public class Users implements Serializable {

    private Integer id;
    private String name;
    private Integer age;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    @Override
    public String toString() {
        return "Users [id=" + id + ", name=" + name + ", age=" + age + "]";
    }

}
5.유닛 테스트

@RunWith(SpringRunner.class)
@SpringBootTest(classes = SpringbootRedisDemoApplication.class)
public class SpringbootRedisDemoApplicationTests {

    @Autowired
    private RedisTemplate<String, Object> redisTemplate;

    /**
     *        
     */
    @Test
    public void testSet(){
        this.redisTemplate.opsForValue().set("key", "bobokaoya...");
    }

    /**
     *        
     */
    @Test
    public void testGet(){
        String value = (String)this.redisTemplate.opsForValue().get("key");
        System.out.println(value);
    }

    /**
     *   Users  
     */
    @Test
    public void testSetUesrs(){
        Users users = new Users();
        users.setAge(20);
        users.setName("   ");
        users.setId(1);
        //        
        this.redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer());
        this.redisTemplate.opsForValue().set("users", users);
    }

    /**
     *  Users  
     */
    @Test
    public void testGetUsers(){
        //        
        this.redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer());
        Users users = (Users)this.redisTemplate.opsForValue().get("users");
        System.out.println(users);
    }

    /**
     *   JSON   Users  
     */
    @Test
    public void testSetUsersUseJSON(){
        Users users = new Users();
        users.setAge(20);
        users.setName("   ");
        users.setId(1);
        this.redisTemplate.setValueSerializer(new Jackson2JsonRedisSerializer<>(Users.class));
        this.redisTemplate.opsForValue().set("users_json", users);
    }

    /**
     *   JSON   Users  
     */
    @Test
    public void testGetUseJSON(){
        this.redisTemplate.setValueSerializer(new Jackson2JsonRedisSerializer<>(Users.class));
        Users users = (Users)this.redisTemplate.opsForValue().get("users_json");
        System.out.println(users);
    }

}
在这里插入图片描述
SpringBoot 통합 SpringDataRedis 의 예제 코드 에 관 한 글 은 여기까지 소개 되 었 습 니 다.SpringBoot 통합 SpringDataRedis 내용 은 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기