일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SpringBoot
- maven
- 설정
- oracle
- JavaScript
- Open Source
- Python
- spring
- STS
- Source
- 문서
- Spring Boot
- MySQL
- Eclipse
- git
- Tomcat
- MSSQL
- JDBC
- IntelliJ
- PostgreSQL
- error
- ubuntu
- 오픈소스
- jpa
- myBatis
- AJAX
- Core Java
- Thymeleaf
- Exception
- Docker
- Today
- Total
헤르메스 LIFE
[SpringBoot] SpringBoot + Redis Cache Sample 본문
개발환경
Tools : STS 4.22.1.RELEASE
JDK : zulu11.72.19-jdk11.0.23
Framework : Spring Boot 2.7.18
Database : PostgreSQL 16.3
Cache NoSQL : Redis 7.2.5
Build : Gradle
프로젝트 생성
Dependencies 선택
Finish
개발 소스
https://github.com/hermeswing/SpringBootNRedis
Spring-boot + Redis application.yml 설정 변경
deprecated 되었습니다.
spring:
data:
redis:
host: localhost
port: 6379
아래의 설정으로 변경합니다.
# Spring 설정
spring:
datasource: # Database 설정
# Tibero 설정
# driver-class-name: com.tmax.tibero.jdbc.TbDriver
# url: jdbc:tibero:thin:@121.134.157.73:1521:tibero
# username: CSPIVUE
# password: admin!234
# PostgreSQL 설정
driver-class-name: org.postgresql.Driver
url: jdbc:postgresql://localhost:5432/springboot
username: hermeswing
password: pass
hikari:
maximum-pool-size: 3 #최대 pool 크기
minimum-idle: 1 #최소 pool 크기
idle-timeout: 600000 #연결위한 최대 유후 시간
max-lifetime: 1800000 #반납된 커넥션의 최대 수명
# Redis 설정
data:
redis:
host: localhost
port: 6379
POST MAN테스트
테스트 목표
1.PostgreSQL Database 에 저장 / 수정 / 삭제 / 조회 가 잘 되어야 합니다.
2. 조회 시 첫번째 조회를 제외하고, 두번째 조회 부터는 Redis 에서 조회 되어야 합니다.
1. 저장 : POST, localhost:9090, Body > raw > JSON
{
"name":"홍길동"
}
저장이 잘 되었습니다.
2. 수정 : PUT, localhost:9090, Body > raw > JSON
{
"id": 1,
"name":"홍길동2"
}
수정도 잘 되네요.
3. 삭제 : DELETE, localhost:9090/1
삭제도 잘 됩니다.
4. 조회 :
- 먼저 "저장" 수행을 진행 합니다.
- localhost:9090/1
정상적으로 조회 됩니다.
Redis 에도 정상적으로 저장 되어 있습니다. ( Redis 에 저장된 데이터는 휘발성 데이터 로 각 데이터 마다 30분 간 저장되게 설정 되어 있습니다.
두번째 조회에서 부터는 Redis에서 조회 되어야 합니다. ( Cache 된 데이터가 조회됩니다. )
그래서 Database 에서 데이터를 수정합니다. ( name 을 "홍길동" 에서 "신사임당" 으로 수정했습니다. )
데이터는 수정되었지만, Redis에 Cache된 데이터를 읽어 오게 되므로 "홍길동"이 조회됩니다.
https://hermeslog.tistory.com/635
https://hermeslog.tistory.com/541
https://hermeslog.tistory.com/787
https://hermeslog.tistory.com/568
'Spring Boot Framework' 카테고리의 다른 글
[Spring Boot] logbak-local 설정 (0) | 2024.08.01 |
---|---|
[Springboot] Springboot 와 Mybatis 설정에서 resultType을 Map 으로 사용 시 문제점. (0) | 2024.07.24 |
[Spring Boot] Mybatis 쿼리 Interceptor 처리 테스트 (0) | 2024.05.23 |
[Spring Cloud Netflix] Eureka Gateway 샘플 (0) | 2024.03.28 |
[Spring Cloud Netflix] Eureka Client 샘플 (0) | 2024.03.14 |