전체 글
-
레디스 명령어 (1) String오늘/Today I.. 2024. 11. 23. 20:41
SETGET문자열 데이터를 저장하고 조회한다. SET K V EX # 초 단위 만료SET K V PX # 밀리초 단위 만료SET K V NX # 새 키만 저장SET K V XX # 기존 키만 업데이트위와 같은 기능을 추가해서 저장할 수 있다.DEL을 쓰면 삭제도 가능하다. 또한최대 512MB까지 저장 가능데이터형식은 텍스트, 숫자, JSON, 바이너리 등 어떤 형식의 데이터든지 문자열로 저장가능 하다. 문자열 값이 정수일 경우 (문자열, 소수점 있으면 에러남)SET count 10INCR count # ++ 되어 11이 됨DECR count # -- 되어 10이 됨INCRBY count 10 # +10이 되어 20이 됨INCRBY count -10 # -10이 되어 ..
-
Hystrix와 Resilience4j "제공"과 "실행"의 차이프로그래밍/MSA 2024. 11. 20. 16:50
Hystrix : Fallback "제공" 실패 시 미리 정의된 Fallback 메서드를 Hystrix가 자동으로 호출개발자는 로직을 제공. 실행은 Hystrix가 관리 장점 : 간단하고, 구조적이며, 작성할 코드가 적음 Resilience4j : Fallback "실행" Fallback 로직을 명시적으로 작성하고, 실패 발생 시 직접 실행하도록 구현개발자가 Fallback 실행을 제어할 수 있어서 유연성이 높음 장점: 유연함단점: 코드작성량이 많음 "제공" 과 "실행" 의 차이제공 -> Fallback 로직을 미리 정의하면 실패 시 알아서 호출실행 -> Fallback 로직을 개발자가 직접 작성하고 제어 선택 기준Hystrix : 단순한 기본값 반환이 메인일 경우Resilience4j..
-
MySQL 과 PostgreSQL오늘/Today I.. 2024. 11. 19. 17:29
항목MySQLPostgreSQL설계 철학간단하고 빠른 성능고급 기능과 확장성, 표준 준수를 중시라이센스오픈소스오픈소스SQL 표준 준수SQL 표준을 완벽히 준수하지 않음SQL 표준 준수도가 높음데이터 타입지원하는 데이터 타입이 제한적(ex. JSON 지원 제한적)많은 데이터 타입 지원(JSON, JSONB, HSTORE, UUID 등)확장성제한적인 확장성 (플러그인 시스템은 존재)높은 확장성(C-language, PL/pgSQL, 파이썬으로 확장 가능)트랜잭션 관리InnoDB 엔진 사용 시 ACID 지원기본적으로 ACID 지원.더 강력한 트랜잭션 제어 기능 제공복제 및 클러스터링읽기 복제를 쉽게 설정 가능하지만기본 제공 클러스터링은 부족복제, 클러스터링 및 분산 처리에 뛰어남(BDR, Patroni 등)J..
-
이거 왜 안됨..? (2) 해결오늘/Error 2024. 11. 18. 18:47
could not initialize proxy [com.spartaordersystem.domains.UserAddress.entity.UserAddress#059b97ba-1884-4694-984e-6aa523add7e0] - no Session 라는 에러가 터졌고 그래서 categoryRepository.save(category); 이걸할 수 없다고 한다. Caused by: org.hibernate.LazyInitializationException: could not initialize proxy [com.spartaordersystem.domains.UserAddress.entity.UserAddress#059b97ba-1884-4694-984e-6aa523add7e0] - no Session..
-
이거 왜 안됨..?오늘/Error 2024. 11. 15. 13:20
오더 생성 중에 user.getUserAddress가 계속 null로 입력되었다.주석된 코드처럼 Hibernate 초기화도 해보고 유저주소 생성 메서드에서 체크도 해보았으나 계속 null 이 들어왔다. db 확인 결과 user에 user_address_id가 들어가지 않음을 확인아래와 같이 바꿔주었다. 그 결과 user에 user_address_id는 잘 들어갔으나 카테고리 생성에서jakarta.servlet.ServletException: Unable to handle the Spring Security Exception because the response is already committed. 에러가 터졌다. userRepository.save(user); 이 코드 한줄 때문에. 대체 ..