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
- Redis
- aop
- Til
- spring boot
- Kafka
- springboot
- 멀티 모듈
- MSA
- algorihm
- JWT
- EC2
- 테스트 코드
- JPA
- docker
- 유효성 검사
- Java
- Intellij
- testcode
- AWS
- 어노테이션
- swagger
- DevOps
- algorithm
- CI/CD
- querydls
- rabbitmq
- 프로그래머스
- 객체지향원칙
- trouble shooting
- Github Actions
Archives
- Today
- Total
목록2025/04/16 (1)
개발노트
25.04.16 Redis 에서 루아(Lua) 스크립트란?
개요리뷰의 평점 기능을 구현하는 도중 유저들이 동시에 리뷰를 작성하거나 평점을 수정할 경우,평균 = 총합 / 리뷰 수 계산 과정에서 연산 충돌이 발생할 수 있다는 생각이 들었다. user A 와 userB가 동시에 평점을 등록함둘 다 동일한 시점의 총점, 리뷰 수 등을 읽음각각 계산된 평균을 저장하려고 시도한다.마지막에 저장된 한쪽의 값만 반영되는 문제가 발생실제 평균과 다른 값이 저장되어 데이터 정합성이 깨지게된다.이런 경우 Lua 스크립트를 사용하면 문제를 해결할 수 있다.Redis는 Lua를 통해 여러 명령을 원자적(atomic) 으로 실행할 수 있다.즉, 총합 계산, 리뷰 수 증가, 평균 계산을 하나의 트랜잭션으로 묶어 실행하는 것이다. Redis 루아(Lua) 스크립트란?Redis 내부에서 Lu..
DataBase
2025. 4. 16. 01:22