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 |
Tags
- mongoDB
- 그리디알고리즘
- 데이터베이스
- API
- 알고리즘
- 애자일프로그래밍
- database
- 자바
- cleancode
- 코딩테스트
- Baekjoon
- 백준
- 그리디
- spring boot
- 개발
- 엘라스틱서치
- 코딩
- Java
- ES
- 클린코드
- 개발자
- 프레임워크
- Elasticsearch
- JPA
- 애자일기법
- 스프링
- 코드
- Spring
- framework
- 읽기쉬운코드
Archives
- Today
- Total
목록낙관적 락 (1)
튼튼발자 개발 성장기🏋️

최근 토이 프로젝트를 진행하면서 맞이한 동시성 이슈. 그 이슈는 "게시글의 조회수 증가"에서 맞이하게 된다. 서로 다른 사용자가 동시에 게시글을 열람한다면, 조회수는 +2가 되어야할테니... 따라서 동시성 이슈를 해결하기 위해 락을 획득하기로했다. 일반적으로 알고 있는 락은 낙관적 락(Optimistic Lock)과 비관적 락(Pessimistic Lock)이있다. 낙관적 락(Optimistic Lock) 동시에 동일한 데이터에 대한 수정을 서로 연관되지 않게 방지하는 기능으로써 해당 데이터의 "version"을 확인하여 엔티티의 변경을 감지한다. "낙관적"이라는 말처럼 "여러 트랜잭션이 동일한 데이터를 동시에 수정하지 않는다."라는 가정을 가지고 트랜잭션의 충돌을 방지한다. 한 마디로 "일단 데이터 가..
Framework/spring
2023. 9. 5. 18:53