
Reddison Vs Lettuce 우선 시작하기 전에 Spring Boot에서 Redis를 사용하기 위해서는 Redisson과 Lettuce 둘 중 하나를 사용할 수 있습니다. 해당 글에서는 Redisson을 사용하였으며, 왜 Redisson을 사용했는지 두개의 라이브러리가 어떤 차이점을 가지고 있는지 살펴보고 넘어가겠습니다. 💡 Redisson Redisson은 우선 Publisher와 Subscriber 기반으로 Lock을 획득 및 제공하고 있습니다. Lettuce와 다르게 SpinLock 방식이 아닙니다. SpinLock의 경우 순회를 하면서 Lock의 획득 여부를 계속하여 물어보게 됩니다. 이는 Busy Waiting이 발생하게 되며 많은 CPU 자원을 낭비하게 됩니다. 💡 Lettuce Let..
해당 글은 필자가 앞으로 읽고 싶은 책 또는 읽은 책을 작성하는 글입니다. 😵💫 읽고 싶은 책 데이터 중심 애플리케이션 설계 엘레강트 오브젝트 자바 최적화 자바 트러블슈팅 만들면서 배우는 헥사고날 아키텍처 설계와 구현 자바 웹 프로그래밍 Next Step Real MySQL 8.0 2권 테스트 주도 개발로 배우는 객체 지향 설계와 실천 클린 아키텍처 헤드 퍼스트 디자인 패턴 자바 성능 튜닝 JVM Performance Optimizing 및 성능분석 사례 도메인 주도 설계 가상 면접 사례로 배우는 대규모 시스템 설계 기초 자바 네트워크 소녀 네티 디자인 패턴의 아름다움 밑바닥부터 만드는 컴퓨팅 시스템 단위 테스트 자바 알고리즘 인터뷰 with 코틀린 📚 읽은 책 리팩토링 1판 자바 병렬 프로그래밍 도메..

왜 Redis Sorted Set으로 대기열을 구현했는가? 여러 아티클을 통해 redis의 sorted set은 하나의 key에 중복되지 않는 meber를 가질 수 있다는 것을 알게되었다. 이는 카카오 선물하기 구조에서 안성맞춤이라고 생각한다. 그 이유는 하나의 선물(key)에 다수의 memer(참여자) 구조로 갈 수 있다는 것을 의미한다. N개의 요청이 발생했을 때 score를 통해 접근 순위를 파악할 수 있다. 런닝 커브가 낮다 카카오 선물하기 대기열의 구조 💡 게임 주최자의 입장 게임 주최자는 특정 오픈 채팅방에 선물하기 게임을 시작합니다. 선물의 정보와 redis에 저장할 키를 발급하고 데이터 베이스에 함께 정보를 저장합니다. 발급 받은 키를 사용하여 redis에 선물 갯수를 저장합니다. 오픈 채..
- Total
- Today
- Yesterday
- redis sorted set으로 대기열 구현
- pipe and filter architecture
- transactional outbox pattern
- microkernel architecture
- 레이어드 아키텍처란
- 람다 표현식
- spring boot redisson 분산락 구현
- 서비스 기반 아키텍처
- space based architecture
- spring boot poi excel download
- redis sorted set
- spring boot redisson sorted set
- spring boot redis 대기열 구현
- transactional outbox pattern spring boot
- polling publisher spring boot
- java ThreadLocal
- 트랜잭셔널 아웃박스 패턴 스프링부트
- JDK Dynamic Proxy와 CGLIB의 차이
- spring boot 엑셀 다운로드
- @ControllerAdvice
- 공간 기반 아키텍처
- pipeline architecture
- spring boot redisson destributed lock
- spring boot excel download oom
- spring boot excel download paging
- service based architecture
- 자바 백엔드 개발자 추천 도서
- 트랜잭셔널 아웃박스 패턴 스프링 부트 예제
- java userThread와 DaemonThread
- redis 대기열 구현
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |