본문 바로가기
반응형

Spring44

Redis 부숴버리기(4) SingleThread, Atomic, 분산 락 이 전까지의 레디스는 Redis를 세션 저장소 및 캐시로 사용하는 전형적인 방법 중 하나이다. 이를 통해 세션 및 캐시를 효율적으로 관리하고 Redis의 고성능을 활용할 수 있다.Redis single thread  레디스는 사용자들이 실행한 명령어들을 이벤트 루프(event loop) 방식으로 처리한다. 즉, 클라이언트가 실행한 명령어들을 Event Queue에 적재하고 싱글 스레드로 하나씩 처리한다. 메모리를 사용하기 때문에 싱글 스레드로 데이터를 빠르게 처리할 수 있다. 하지만 레디스 6.0을 지나면서 레디스는 ThreadedIO 가 추가 되면서  Multi Thread 로 동작한다.레디스는 싱글 스레드 였기 때문에 대규모 데이터 처리에도 Atomic 연산을 보장했다.하지만 멀티스레드를 지원하면 A.. 2024. 5. 15.
Redis 부숴버리기(3) 캐싱 레디스의 기능중에 캐싱 기능이 있었는데 캐싱기능을 사용하면 레디스에 저장하고 데이터가 레디스에 담겨있으면 꺼내오는식으로 이루어진다.  캐시란 데이터를 미리 복사해 놓은 임시 저장소를 말한다. 이러한 캐시 기능을 사용하면 성능향상에 큰 이점을 주고 db에 접근하는것을 최대한 막아준다. 캐시를 적용해 보도록 하겠다. 이번에는 Redis 부숴버리기(2) 에 설정과는 좀 다르고 (1)과 설정이 비슷하다.  configuration @Configuration@EnableRedisRepositories@Slf4j@EnableCachingpublic class RedisConfig{ @Value("${spring.redis.host}") private String redisHost; @Value("$.. 2024. 5. 13.
Redis 부숴버리기(2) 다중 Database 사용 레디스 안에는 0번부터 15까지 16개의 database instance가 있다. 아무 설정없이 이 전 처럼 활용하면 기본적으로 0번 database에 저장하게 된다. 하지만 키 값이 여러개가 되면 동일한 DB에 저장하면 관리하기 힘들게 된다. 그래서 여러개의 database를 사용하는 것은 좋다. 이 전장에서LettuceConnectionFactory이것에 대해 알아보려고 했는데 지금 알아보려고 한다. LettuceConnectionFactory는 Redis 서버와의 연결을 설정하고 관리하는 Spring의 연결 팩토리입니다. 이 클래스를 사용하여 다양한 작업을 수행할 수 있습니다. 아래는 LettuceConnectionFactory를 사용하여 수행할 수 있는 주요 작업들입니다: 그 중에RedisStan.. 2024. 5. 13.
Redis 부숴버리기 이번 harbor 프로젝트를 진행하면서 사용한 기술들의 대해서 모두 다 정리를 해보려고 한다.https://github.com/beyond-sw-camp/be03-fin-4team-HarboR GitHub - beyond-sw-camp/be03-fin-4team-HarboR: 🥴 송보석 🫠 이원태 😮 이창선 🤪 손정민🥴 송보석 🫠 이원태 😮 이창선 🤪 손정민. Contribute to beyond-sw-camp/be03-fin-4team-HarboR development by creating an account on GitHub.github.com 자세한 내용은 여기서 확인할 수 있다.  Redis는 Remote(원격)에 위치하고 프로세스로 존재하는 In-Memory 기반의 Dictiona.. 2024. 5. 12.
JAVA FlatMap, Map 프로젝트를 진행중에 내 #달 근무 표를 뽑아야 했다. 출퇴근을 찍는 테이블인 Commute 가 있었고 휴가랑, 출장, 시차근무제를 신청한경우 Attendence 테이블에 추가도 되는 식으로 진행돼서 이 두개를 매칭해서 내 근무표를 뽑아온다. Service public List MonthlyAttendance(String employeeId, CommuteListReqDto commuteListReqDto) { Employee employee = employeeRepository.findByEmployeeId(employeeId).orElseThrow(() -> new IllegalArgumentException(" 없는 회원입니다. ")); LocalDateTime month = commuteListRe.. 2024. 4. 20.
인텔리제이 자바 스프링 프로젝트 인식 오류 해결 인텔리제이로 자바를 켰을때 프로젝트를 인식 못 해서 모든 클래스에 에러가 나는 경우가 있습니다. 열받아서 바로 정리합니다. 1. project structure 들어가서 sdk부터 확인하구요 별 일 없으면 2. build gradle에서 오른쪽 마우스 누르면 Link gradle Project라고 있을거에요 저는 이미 눌러서 없어요 그거 눌러주시면 gradle이 생길겁니다 바로 이 gradle이요 그러면 들어가서 gradle 우클릭 reload 해주시면 됩니다. 2024. 3. 11.
반응형