springboot 3

[Spring Boot] Redis 캐싱 서버 적용하기

Redis란 무엇인가? Redis(Remote Dictionary Server)로 오픈 소스 기반의 인 메모리 데이터 저장소입니다. Redis의 특징 메모리 내 데이터 저장 Key : Value 타입 다양한 데이터 구조지원 메시징 큐 구현 가능 싱글 스레드 방식 Redis 사용 용도 일반적으로는 캐싱, 세션 관리, 풀링, 메시지 브로커, 게임 랭킹 등 다양한 영역에서 사용됩니다. Redis의 장점 Key:Value로 이뤄져 있는 만큼 빠른 속도로 데이터를 검색할 수 있습니다. 비관계형 데이터베이스로 확장성에 있어서 이점이 있습니다. in-memory 방식으로 디스크 방식보다 빠릅니다. Redis의 단점 데이터 일관성, 동시성 제어를 위한 기능이 미약합니다. Redis 캐싱 서버 적용하기 Redis의 서버..

SpringBoot 2023.05.01

[SpringBoot] Transaction 커밋 적용

오늘의 문제: Transaction 내 코드 분석 Transaction 오늘 코딩하면서 게시글을 수정하는 단계에서 updated_at 수정 필드가 업데이트가 되지 않아서 찾아보게 됐다. @Transactional public Post modify(String title, String body, String username, Integer postId) { // 포스트 찾기 log.info("포스트 찾기"); PostEntity postEntity = postRepository.findById(postId).orElseThrow(() -> new SnsException(Errorcode.NOT_EXISTS_POST, String.format("게시글 ID: %d", postId))); // 생성자, 수정자..

SpringBoot 2023.04.20

[SpringBoot] 스프링부트 터미널 build 실행 오류

문제: JAVA 17 버전을 호환하지 못함 터미널로 gradlew build 를 실행했지만 classpath를 찾지 못할 뿐더러 jdk 17버전이 아니라는 경고가 발생한다. 주의 사항 스프링부트 2.6.x 버전 이상부터 사용이 가능하다. build.gradle 에서 17버전인지 확인! 인텔리제이 빌드, 실행, 테스트 설정하기 jdk 17버전을 다운받는다. https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html 설정 - build - gradle - 17ver 설정 프로젝트 구조 - SDK - 17ver 생성 프로젝트 구조 - 프로젝트 프로젝트 구조 - 모듈 - 17ver 설정 위의 방식들은 인텔리제이에서 빌드, 실행할 때 ..

SpringBoot 2023.04.04