>Java >java지도 시간 >SpringBoot가 SpringDataRedis를 통합하는 방법

SpringBoot가 SpringDataRedis를 통합하는 방법

WBOY
WBOY앞으로
2023-05-13 10:13:05935검색

SpringBoot整合SpringDataRedis
1.创建项目添加依赖
  创建SpringBoot项目,并添加如下依赖:

<종속성>
   
   <종속성>
       org .springframework.boot
       spring-boot-starter-web
   
   
   
org.springframework.boot
       spring-boot-starter-data-redis
   


        org. springframework.boot
       spring-boot-starter-test
       test
   

   
      redis .clients
       jedis
       2.9.0
   


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2.设置application.proper ties文件
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
1
2
3
4
5
3.添加Redis의 配置类
  添加Redis의 java配置类,设置关적信息。

/**
* @program: springboot-redis-demo
* @description: Redis 구성 클래스
* @author: Bobo Roast Duck
* @create: 2019-05-20 23:40
*/
@Configuration
공개 클래스 RedisConfig {

/**
* 1. JedisPoolConfig 객체를 생성합니다. 이 객체에서 일부 연결 풀 구성을 완료하세요.
* @ConfigurationProperties: 엔터티는 동일한 접두사가 있는 콘텐츠로 생성됩니다.
*/
   @Bean
   @ConfigurationProperties(prefix="spring.redis.pool")
   public JedisPoolConfig jedisPoolConfig(){
       JedisPoolConfig config = new JedisPoolConfig();
/*//最大공백 :"+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 공장 = 새로운 JedisConnectionFactory();
       //关联链接池的配置对象
       factory.setPoolConfig(config);
       //配置链接Redis적信息
       //主机地址

/*factory.setHostName(“192.168. 70.128");

//端口
factory.setPort(6379);*/
       공장 반품;
   }

/**
* 3. RedisTemplate 생성: Redis 작업을 수행하는 방법
*/
   @Bean
   public RedisTemplate redisTemplate(JedisConnectionFactory 공장){

       RedisTemplate template = new RedisTemplate<>();

       //关联
       template.setConnectionFactory(factory);

//키에 대한 직렬변환기 설정
            Template.setKeySerializer(new StringRedisSerializer())
                //                      --값에 대한 직렬변환기 설정
        Template.setValueSerializer (새로운 StringRedisSerializer())

반환 템플릿
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
4 6
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
4.포조 추가
/**
* @program: springboot-redis-demo
* @description: Users
* @author: Bobo Roast Duck
* @create: 2019-05-20 23:47
* /
공개 클래스 사용자는 직렬화 가능 {

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( 정수 나이) {
This.age = age;
}
@Override
public String toString() {
return "Users [id="" + id + ", name=" + name + ", age=" + 연령 + "]";
}

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
5. 단위 테스트

@RunWith(SpringRunner. 클래스)
@Sp ringBootTest (클래스 = SpringbootRedisDemoApplication .class)
public class SpringbootRedisDemoApplicationTests {

@Autowired
private RedisTemplate redisTemplate;

/**
* 문자열 추가
*/
@Test
public void testSet(){
this.redis Template.opsForValue() .set(“key”, “bobokaoya…”);
}

/**
* 문자열 가져오기
*/
@Test
public void testGet(){
문자열 값 = (String)this.redisTemplate .opsForValue().get("key");
        System.out.println(value);
    }

/**
* 사용자 개체 추가
*/
    @Test
    public void testSetUesrs(){
                                     끄기 .setAge(20 );
users.setName("Zhang Sanfeng");
users.setId(1);
//직렬 변환기 재설정
this.redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer());
This.redisTemplate. (“사용자”, 사용자);
}

/**

* 사용자 개체 가져오기
*/
@Test
public void testGetUsers(){
                                                                               사용 사용 사용 ' ' s ' ' s 사용 ‐ ‐opsForValue() .set(“사용자”, 사용자); new JdkSerializationRedisSerializer());
사용자 사용자 = (사용자)this.redisTemplate.opsForValue().get(“사용자”);
System.out.println(사용자);
}

/**

*JSON 형식을 기반으로 사용자 개체 저장

*/
@Test
public void testSetUsersUseJSON(){
Users users = new Users();
users.setAge(20);
users.setName("李思峰");
사용자. setId(1);
This.redisTemplate.setValueSerializer(new Jackson2JsonRedisSerializer<>(Users.class));
this.redisTemplate.opsForValue().set(“users_json”, 사용자);
}

/**
* JSON 형식을 기반으로 사용자 개체 가져오기
*/
   @Test
   public void testGetUseJSON(){
       this.redisTemplate.setValueSerializer(new Jackson2JsonRedisSerializer<>(Users.class));
       사용자 사용자 = (사용자)this.redisTemplate.opsForValue ().get(“users_json”);
       System.out.println(users);
   }

}

위 내용은 SpringBoot가 SpringDataRedis를 통합하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제