SpringBoot 가 SpringDataRedis 를 통합 하 는 과정 을 분석 합 니 다.
10048 단어 SpringBootSpringDataRedis
프로젝트 홈 페이지:http://projects.spring.io/spring-data-redis/
프로젝트 문서:http://docs.spring.io/spring-data/redis/docs/1.5.0.RELEASE/reference/html/
본 고 는 SpringBoot 가 SpringDataRedis 를 통합 하 는 과정 을 소개 한다.
프로젝트 환경:Jdk 11.0.2,Redis 3.0.0,Centos 7
1.Redis 3.0.0 설치
Linux 에서 redis 설치 패키지 압축 풀기
압축 해제 후 디 렉 터 리 에 들 어가 컴 파일 합 니 다.
컴 파일 완료
지정 한 디 렉 터 리 에 redis 설치 하기
시작 redis
기본 포트 포트 포트:6379
사전 시작 에 속 합 니 다.터미널 전 체 를 차지 합 니 다.Ctrl+C 를 누 르 면 정지 합 니 다.
나중에 시작 하면 redis.conf 를 redis/bin 디 렉 터 리 에 복사 합 니 다.
복사 한 프로필 을 수정 하여 no 를 yes 로 설정 합 니 다.
Centos 7 오픈 포트
redis 를 시작 하여 redis 가 시작 되 었 는 지 확인 합 니 다.
IDEA 클 라 이언 트 도구 연결 redis 서비스 성공
2.SpringDataRedis 통합
1.pom.xml 파일 수정
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>springboot-redis</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.6.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- SpringDataRedis2.x jedis jedis, -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.3.0</version>
</dependency>
</dependencies>
</project>
2.RedisConfig 설정 클래스 만 들 기jedis 의 원본 코드:
/**
* @Author: kenewstar
* @Description: Redis
* @Date:Created in 2020/6/27
*/
@Configuration
public class RedisConfig {
//
@Bean
public JedisPoolConfig jedisPoolConfig(){
JedisPoolConfig config = new JedisPoolConfig();
// ( 8)
config.setMaxIdle(12);
// ( 0)
config.setMinIdle(6);
// ( 8)
config.setMaxTotal(24);
return config;
}
/**
* SpringDataRedis2.x jedis
* @param config
* @return
*/
@Bean
public JedisConnectionFactory jedisConnectionFactory(JedisPoolConfig config){
JedisConnectionFactory factory = new JedisConnectionFactory();
// ,SpringDataRedis2.x
factory.setPoolConfig(config);
factory.setHostName("192.168.40.128"); //redis ip
factory.setPort(6379); //redis
return factory;
}
//redis
@Bean
public RedisTemplate<String,Object> redisTemplate(JedisConnectionFactory factory){
RedisTemplate<String,Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(factory);
// key/value
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new StringRedisSerializer());
return redisTemplate;
}
}
Redis 서열 화기3.Redis 테스트 클래스 만 들 기
/**
* @Author: kenewstar
* @Description: redis
* @Date:Created in 2020/6/27
*/
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = App.class)
public class TestRedisString {
@Autowired
private RedisTemplate<String,Object> redisTemplate;
@Test
public void set(){
this.redisTemplate.opsForValue().set("name","muke");
}
@Test
public void get(){
Object name = this.redisTemplate.opsForValue().get("name");
System.out.println(name);
}
}
3.SpringDataRedis 액세스 Java 대상자바 대상 에 접근 하 는 방법 을 추천 하지 않 으 면 공간 낭 비 를 초래 할 수 있 습 니 다.json 문자열 형식 으로 접근 하 는 것 이 좋 습 니 다.
/**
* @Author: kenewstar
* @Description: redis
* @Date:Created in 2020/6/27
*/
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = App.class)
public class TestRedisString {
@Autowired
private RedisTemplate<String,Object> redisTemplate;
@Test
public void setObject(){
User user = new User();
user.setId(1);
user.setName("kenewstar");
user.setAge(21);
this.redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer());
this.redisTemplate.opsForValue().set("user",user);
}
@Test
public void getObject(){
this.redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer());
User user = (User)this.redisTemplate.opsForValue().get("user");
System.out.println(user);
}
}
4.SpringDataRedis 액세스 JSon 형식의 자바 대상
/**
* @Author: kenewstar
* @Description: redis
* @Date:Created in 2020/6/27
*/
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = App.class)
public class TestRedisString {
@Autowired
private RedisTemplate<String,Object> redisTemplate;
@Test
public void setJsonObject(){
User user = new User();
user.setId(2);
user.setName("kenewstar2");
user.setAge(22);
this.redisTemplate.setValueSerializer(new Jackson2JsonRedisSerializer<>(User.class));
this.redisTemplate.opsForValue().set("userJson",user);
}
@Test
public void getJsonObject(){
this.redisTemplate.setValueSerializer(new Jackson2JsonRedisSerializer<>(User.class));
User user = (User) this.redisTemplate.opsForValue().get("userJson");
System.out.println(user);
}
}
5.SpringDataRedis 2.x 의 설정1.application.yml 전역 프로필 만 들 기
redis 데이터베이스 연결 정보 와 연결 탱크 정 보 를 전역 프로필 에 설정 합 니 다.
#redis
spring:
redis:
host: 192.168.40.128
port: 6379
password: #
database: 0 # (0-15) 0
timeout: 300s #
#redis
jedis:
pool:
max-idle: 16 # ( 8)
min-idle: 4 # ( 0)
max-active: 20 # ( 8)
max-wait: 60000ms # -1ms (-1 : ) 1
2.RedisConfig 설정 클래스 만 들 기
/**
* @Author: kenewstar
* @Description: Redis
* @Date:Created in 2020/6/27
*/
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate<String,Object> redisTemplate(RedisConnectionFactory factory){
RedisTemplate<String,Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(factory);
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new StringRedisSerializer());
return redisTemplate;
}
}
3.SpringDataRedis 를 테스트 합 니 다.코드 는 상기 코드 테스트 코드 와 같 습 니 다.여기 서 다시 소개 하지 않 겠 습 니 다.총결산
SpringBoot 통합 SpringDataRedis 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.SpringBoot 통합 SpringDataRedis 에 관 한 더 많은 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Java・SpringBoot・Thymeleaf】 에러 메세지를 구현(SpringBoot 어플리케이션 실천편 3)로그인하여 사용자 목록을 표시하는 응용 프로그램을 만들고, Spring에서의 개발에 대해 공부하겠습니다 🌟 마지막 데이터 바인딩에 계속 바인딩 실패 시 오류 메시지를 구현합니다. 마지막 기사🌟 src/main/res...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.