Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Socket
- Java
- NamingRule
- udp
- KebabCase
- UDP통신
- 케밥케이스
- tcp
- DatagramPacket
- SnakeCase
- 파스칼케이스
- DatagramSocket
- PascalCase
- 명명규칙
- camelcase
- 카멜케이스
- ServerSocket
- 스네이크케이스
Archives
- Today
- Total
MATT's
Redis - 2. Redis 배치 방식 본문
배치 방식
Redis의 캐싱 전략은 Redis를 어떻게 배치할 것인지를 나타내는 배치 방식을 뜻하며, Redis가 어떻게 배치되는지에 따라 시스템의 성능에 큰 영향을 미칠 수 있기 때문에 적절한 방식을 선택하여 운영 해야한다.
Look Aside (Lazy loading)
- 이 구조는 캐시를 옆에 두고 필요할 때만 데이터를 캐시에 로드하는 전략을 사용한다.
- Redis는 DB와 Application 사이에 위치하며 아래와 같이 동작한다.
- Application에서 Redis로 데이터를 요청한다.
- Redis에 해당 데이터가 없을 경우, DB로 데이터를 요청한다.
- Application에서는 DB에서 받아온 데이터를 Redis에 저장한다.
- (장점) 실제로 사용되는 데이터만 캐시할 수 있고, Redis의 장애가 Application에 치명적인 영향을 주지 않는다.
- (단점) 캐시에 없는 데이터를 조회할 때, DB에 데이터를 조회 해야하기 때문에 시간이 오래 걸린다.
Write-Through
- DB에 데이터를 작성할 때마다 Redis에 데이터를 추가하거나 업데이트한다.
- (장점) Redis의 데이터는 항상 최신 상태로 유지할 수 있다.
- (단점) 데이터 입력 시 두 번의 과정을 거쳐야 하기 떄문에 지연 시간이 증가한다.
- (단점) 사용되지 않는 데이터도 캐시에 저장 해야하기 때문에 리소스 낭비가 발생된다.
이를 해결하기 위해 데이터 입력 시 Expire 설정을 사용하여 사용되지 않는 데이터를 삭제해야 한다.Look Aside (Lazy loading)- 이 구조는 캐시를 옆에 두고 필요할 때만 데이터를 캐시에 로드하는 전략을 사용한다.
- Redis는 DB와 Application 사이에 위치하며 아래와 같이 동작한다.
- Application에서 Redis로 데이터를 요청한다.
- Redis에 해당 데이터가 없을 경우, DB로 데이터를 요청한다.
- Application에서는 DB에서 받아온 데이터를 Redis에 저장한다.
- (장점) 실제로 사용되는 데이터만 캐시할 수 있고, Redis의 장애가 Application에 치명적인 영향을 주지 않는다.
- (단점) 캐시에 없는 데이터를 조회할 때, DB에 데이터를 조회 해야하기 때문에 시간이 오래 걸린다.
- DB에 데이터를 작성할 때마다 Redis에 데이터를 추가하거나 업데이트한다.
- (장점) Redis의 데이터는 항상 최신 상태로 유지할 수 있다.
- (단점) 데이터 입력 시 두 번의 과정을 거쳐야 하기 떄문에 지연 시간이 증가한다.
- (단점) 사용되지 않는 데이터도 캐시에 저장 해야하기 때문에 리소스 낭비가 발생된다.
이를 해결하기 위해 데이터 입력 시 Expire 설정을 사용하여 사용되지 않는 데이터를 삭제해야 한다.
'Redis' 카테고리의 다른 글
Redis - 4. 설치 방법 (0) | 2021.10.04 |
---|---|
Redis - 3. Redis Replication(복제) 방법 (0) | 2021.10.04 |
Redis - 1. Redis 란? (0) | 2021.10.04 |