Springboot Cache 사용기[1]
Cache에 대해서 먼저 알아보자.
Cache는 작은 저장공간을 가지지만 빠른 액세스 속도를 특징으로 가지고 있습니다. 따라서 자주 사용되는 데이터를 임시 저장소에 저장해 빠른 응답 속도를 위해서 사용됩니다.
[그럼 어떠한 데이터에 Cache를 사용하면 좋을까?]
1. 반복적인 결과를 돌려주는 데이터(웹툰은 원고를 수정을 하지 않는 이상 같은 데이터를 반환한다.)
2. 조회하는데 많은 비용이 드는 데이터
[Local Cache와 Global Cache]
Local Cache의 특징
1. 서버마다 Cache를 두는 것
2. 서버마다 작동하므로 동작이 빠르다.
3. 다른 서버와의 동기화에 어려움이 있을 수 있다.
Global Cache의 특징
1. Cache 서버를 별도로 존재하고, 분산된 서버에서 데이터를 저장할 수 있다. 따라서 Client는 Cache 서버에서 빠른 속도로 조회가 가능하다.
2. 네트워크를 통해 Cache 서버를 동기화하므로 Local Cache에 상대적으로 느리다.
Springboot Cache 종류
Local-Memory-Cache
1. Local Memory에 Cache 데이터를 저장하고, 조회한다.
2. 서버가 꺼지면 Cache 데이터들은 삭제된다.
3. 기본 전략으로 @EnableCache만 붙여주거나, 간단하게 Custom CacheManager를 등록해서 사용 가능하다.
Redis
1. In-Memory 기반의 키-값 형태를 가지고 있는 NoSQL입니다. In-Memory이므로 빠른 read & write 속도를 가지고 있습니다.
2. Pesistence를 지원한다 -> In-Memory 기반이지만, 서버가 꺼져도 다시 데이터를 불러올 수 있다.
3. redis 라이브러리와 Custom RedisCacheManager를 등록해서 사용한다.
EnhacedCache
1. 오픈 소스 기반의 Local cache
2. Disk, Memory 저장이 가능하다.
3. 서버 간 분산 캐시를 지원한다.
4. xml이 필요하다.
앞으로 Local-Memory-Cache와 Redis를 다뤄볼 예정입니다. 감사합니다.
'SpringBoot > cache' 카테고리의 다른 글
Springboot Cache 사용기[5] Redis 이용한 Cache 사용 (0) | 2022.04.16 |
---|---|
Springboot Cache 사용기[4] Redis 사용하기 (0) | 2022.04.10 |
Springboot Cache사용기[3] Local-Memory-Cache 동작 과정 (0) | 2022.04.02 |
Springboot Cache 사용기[2] Local-Memory-Cache (2) | 2022.03.30 |
댓글
이 글 공유하기
다른 글
-
Springboot Cache 사용기[5] Redis 이용한 Cache 사용
Springboot Cache 사용기[5] Redis 이용한 Cache 사용
2022.04.16 -
Springboot Cache 사용기[4] Redis 사용하기
Springboot Cache 사용기[4] Redis 사용하기
2022.04.10 -
Springboot Cache사용기[3] Local-Memory-Cache 동작 과정
Springboot Cache사용기[3] Local-Memory-Cache 동작 과정
2022.04.02 -
Springboot Cache 사용기[2] Local-Memory-Cache
Springboot Cache 사용기[2] Local-Memory-Cache
2022.03.30