BackendDevelopment (4) 썸네일형 리스트형 Spring Boot 3와 Redis: 로컬 도커 환경에서 시작하기 이 블로그 포스트에서는 로컬 개발 환경에서 Docker를 활용하여 Redis를 설치하고 구성하는 과정을 안내합니다. Redis는 다양한 개발 상황에서 선호되는 오픈 소스, 인 메모리 키-값 데이터베이스로, 빠른 성능과 높은 확장성을 제공합니다. 또한, 최신 Spring Boot 3 프레임워크와의 통합을 통해 실제 어플리케이션 개발 상황을 시뮬레이션하며 기초적인 CRUD 작업을 수행하는 예제를 소개하고자 합니다. Docker를 이용한 Redis 설치docker 에서 redis 설치 후 실행 시키는 방법 1. Redis 이미지 다운로드 Redis Docker 이미지를 다운로드합니다. 터미널 또는 커맨드 라인을 열고 다음 명령을 실행합니다: docker pull redis2. Redis 컨테이너 실행 다운로드.. [Spring Batch] 낙관적 잠금 오류 (OptimisticLockingFailureException) 해결하기 서론 현대의 소프트웨어 개발에서 병렬 처리와 데이터 동시성은 필수적이지만, 이로 인해 예상치 못한 오류에 직면할 때가 많습니다. 본 포스트에서는 Spring Batch에서 흔히 발생하는 OptimisticLockingFailureException 오류를 다루고, 이를 flush() 메소드를 사용하여 해결한 경험을 공유하고자 합니다. 이 오류가 프로젝트에 미치는 영향을 이해하고 대처법을 배우는 것은 모든 데이터 중심 애플리케이션 개발자에게 중요할 것입니다. 문제 상세 설명 OptimisticLockingFailureException은 낙관적 잠금 기법을 사용할 때 발생합니다. 이 기법은 동시에 같은 데이터에 여러 트랜잭션이 접근하려 할 때 사용되는데, 데이터 무결성을 보장하기 위해 데이터의 버전을 체크합니.. Spring Boot 2.x.x에서 3.x.x로 업그레이드 후 Redis에 Java 객체 저장 문제 발생 문제: Spring Boot 2.x.x에서 3.x.x로 업그레이드 후 Redis에 Java 객체 저장 문제 발생Spring Boot를 2.x.x 버전에서 3.x.x 버전으로 업그레이드하면서 AuthUser 객체의 직렬화 및 역직렬화 과정에서 문제가 발생했습니다. 업그레이드 이전에는 이러한 이슈가 없었으나, 새 버전에서는 AuthUser 객체를 Redis에 저장하고 불러오는 과정에서 역직렬화를 할 수 없다는 오류가 발생했습니다. 해결 방법: Jackson Mix-In과 ObjectMapper 설정 이 문제를 해결하기 위해, Jackson 라이브러리의 Mix-In 기능을 활용했습니다. Mix-In을 사용하면 기존 클래스를 수정하지 않고도 직렬화 및 역직렬화 규칙을 적용할 수 있습니다. AuthUser 클.. [Spring - Redis] RedisReadOnlyException: READONLY You can't write against a read only replica. Master kill 시 에러 ( master / slave 구조임 ) 에러 내용 ## master 죽였을 때Caused by: io.lettuce.core.RedisReadOnlyException: READONLY You can't write against a read only replica. at io.lettuce.core.internal.ExceptionFactory.createExecutionException(ExceptionFactory.java:144) ~[lettuce-core-6.1.10.RELEASE.jar!/:6.1.10.RELEASE] at io.lettuce.core.internal.ExceptionFactory.createExecutionException(ExceptionFactory.java:116) ~[lettuce-core-6.1.10.RELE.. 이전 1 다음