일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Intellij
- EC2
- Java
- AWS
- 어노테이션
- 멀티 모듈
- Github Actions
- MSA
- 테스트 코드
- swagger
- testcode
- Redis
- 유효성 검사
- JWT
- spring boot
- 프로그래머스
- trouble shooting
- aop
- docker
- CI/CD
- 아키텍처
- Kafka
- querydls
- 객체지향원칙
- JPA
- Til
- springboot
- algorithm
- DevOps
- rabbitmq
- Today
- Total
목록DataBase (3)
개발노트
개요리뷰의 평점 기능을 구현하는 도중 유저들이 동시에 리뷰를 작성하거나 평점을 수정할 경우,평균 = 총합 / 리뷰 수 계산 과정에서 연산 충돌이 발생할 수 있다는 생각이 들었다. user A 와 userB가 동시에 평점을 등록함둘 다 동일한 시점의 총점, 리뷰 수 등을 읽음각각 계산된 평균을 저장하려고 시도한다.마지막에 저장된 한쪽의 값만 반영되는 문제가 발생실제 평균과 다른 값이 저장되어 데이터 정합성이 깨지게된다.이런 경우 Lua 스크립트를 사용하면 문제를 해결할 수 있다.Redis는 Lua를 통해 여러 명령을 원자적(atomic) 으로 실행할 수 있다.즉, 총합 계산, 리뷰 수 증가, 평균 계산을 하나의 트랜잭션으로 묶어 실행하는 것이다. Redis 루아(Lua) 스크립트란?Redis 내부에서 Lu..
Write-Through Cache애플리케이션이 데이터를 변경하면 즉시 캐시와 데이터베이스에 동시에 저장하는 방식캐시가 항상 최신의 데이터를 유지하도록한다 장점데이터 일관성 유지캐시와 데이터베이스의 데이터가 항상 동일함 빠른 읽기 속도 제공데이터가 항상 캐시에 저장되어 있어 읽기 성능이 향상됨단점쓰기 성능 저하모든 쓰기 연산이 캐시와 데이터베이스에 동시에 반영되므로 속도가 느려질 수 있음불필요한 캐싱 가능성자주 조회되지 않는 데이터도 캐시에 저장될 수 있어 메모리 낭비 가능 사용 예시사용자 프로필 정보사용자의 기본 정보는 자주 읽히지만 자주 변경되지 않음상품 정보 저장상품이 업데이트될 때마다 캐시와 DB를 동시에 갱신하여 최신 상태 유지 변경이 자주 되지않거나 항상 최신 상태를 유지해야하는 경우에 사용하..

개요redis를 사용해보려한다. 개념과 특징을 정리하고 자료형의 주요 메서드를 알아본 다음 RedisTemplate 를 구현하는 법도 정리해본다. Redis란?Redis(Remote Dictionary Server)는 오픈 소스 인메모리 데이터 저장소로 주로 캐시, 세션 저장소, 메시지 브로커 등의 용도로 사용된다.Redis의 특징 인메모리 데이터 저장소데이터를 메모리 ( RAM )에 저장하여 읽기/쓰기 속도가 매우 빠름디스크보다 접근 속도가 빠르므로 캐싱에 최적Key-Value 구조지원 데이터 타입문자열(String)리스트(List)셋(Set)정렬된 셋(Sorted Set)해시(Hash)퍼시스턴스(Persistence) 지원데이터를 디스크에 저장하여 데이터 손실 방지 가능 디스크 저장 방식RDB (Re..