일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ci/cd
- UNION ALL
- git branch 삭제
- EntityManager
- 애널리틱스4
- visual studio code
- java
- db종류
- Python
- docker
- pat발급
- github
- ANTIFRAGILE
- analytics4
- IntelliJ
- jetbrain
- 르세라핌
- gtihub
- 자동배포
- JPA
- git pat
- 티스토리챌린지
- Jenkins
- 오블완
- 명령어
- TIOBE
- MariaDB
- JPQL
- spring
- Today
- Total
hanker
Redis - 설치 및 실행 (2) Spring boot 실행편 (기본) 본문
설치 관련해서 이전글에 올려놨다.
https://hanke-r.tistory.com/218
Spring Boot 에서 Redis를 사용하려면 제일 처음으로 pom.xml에 Redis 의존성 추가를 해줘야한다.
<!-- Spring Boot redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- Gradle -->
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis', version: '3.3.4'
이렇게 직접 코드를 추가해줘도 되고,
윈도우 기준으로 shift 2번 눌러서 Edit Starters 검색해서 열어서 redis 검색 후 추가해줘도 된다.
* <dependencies> 옆에 잎을 클릭해도 열린다.
추가 해준 후 maven 업데이트를 해주고, application.properties 또는 yml 파일에 redis 서버 접속정보를 추가한다.
spring.redis.host=Redis설치 IP
spring.redis.port=6379
# server.servlet.session.timeout=30m
# spring.redis.password=hanker
IP, PORT를 적어주고 밑에 Session Timeout 은 지금 당장 사용하지 않아서 주석, 비밀번호도 서버에 비밀번호 설정하지 않아서 우선 주석처리 해놨다. 만약 비밀번호 설정을 했다면 비밀번호까지 입력해줘야 한다.
설정까지 완료해줬으면 이제 Redis와 데이터를 쉽게 처리하기 위해서 Bean 등록을 해주자
conf/RedisConfig.java 파일을 하나 만들어서 작성했다.
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate<String, Object> template = new RedisTemplate<>();
template.setConnectionFactory(redisConnectionFactory);
// StringRedisSerializer : 키를 문자열로 처리하도록 설정한다.
template.setKeySerializer(new StringRedisSerializer());
// GenericJackson2JsonRedisSerializer : 객체를 JSON 형식으로 변환하여 Redis에 저장할 수 있게 한다.
template.setValueSerializer(new GenericJackson2JsonRedisSerializer());
return template;
}
}
각 라인마다 설정을 주석을 읽어보고 이해하면 된다.
이제 RedisService 클래스에 공통 사용 메서드를 작성해보자
@Service
public class RedisService {
@Autowired
private RedisTemplate<String, Object> redisTemplate;
public void saveRedis(String key, Object value) {
redisTemplate.opsForValue().set(key, value);
}
public Object getRedis(String key) {
return redisTemplate.opsForValue().get(key);
}
}
redis에 Key-Value 형식으로 저장, 불러오는 과정이다.
이제 우리는 설정된 클래스를 어디서나 불러와서 사용하면된다.
Controller를 한번 보자
@Controller
public class TApiController {
@Autowired
private RedisService redisService;
@RequestMapping("/")
public String main(@RequestParam Map<String, Object> params) {
String id = (String) params.get("id");
String pw = (String) params.get("pw");
redisService.saveRedis(id, pw);
Object value = redisService.getRedis(id);
System.out.println(value);
return "index";
}
}
파라미터에 id, pw를 담아서 redis 서버에 저장시켜주고 저장시킨 id를 다시 불러오는 과정을 한 메서드에 다 담겨있다.
이렇게 URL 호출을 했을때, redis에 잘 담기는지 확인해보자
redis-cli 명령어를 입력해서 redis 서버 접속 후
키를 조회해보면 hanker로는 잘 조회되지만 hankir로는 조회되지 않는다.
value를 불러오는 방법을 알아보자
위 요청 URL을 보면 id=hanker&pw=123456으로 요청했고, 해당 값이 잘 담긴게 보인다.
이번 글에서는 간단하게 redis 실행에 대해서 알아봤고, 다음 글에서는 응용해서 사용하는 내용을 적어보려 한다.
끝.
'DATABASE > Redis' 카테고리의 다른 글
Redis 설치 및 실행 (1) | 2024.09.30 |
---|---|
Redis 란.. (0) | 2024.09.26 |