본문 바로가기

redis5

[Redis] Spring Boot - Redis Pub, Sub 구현&응용 목차 Spring Boot - Redis 환경 구성 테스트 개요 서버간 데이터를 동기화 하기 위해, 방법을 찾다가 Redis Pub/Sub 을 사용하는것이 현상황에서 최선이라는 판단을 내리고, 알아보게 되었다. (A - B 각서버간 방화벽 오픈 X, 통신불가 , 하지만 Redis 가 존재하는 C 서버에는 A, B 서버 모두가 바라보고 있음.) Redis를 채택한 또하나의 이유중 하나는, Message를 저장하지 않는 이유때문도 존재한다(Kafka는 메세지내용도 저장함) 메시지 브로커를 구현하는 것이기 때문에, 구현자가 원하는 비지니스 로직을 덧붙힌다면 채팅, 알림, 작업 큐, 동기화 등등 다양한 작업을 할 수 있을것이다. 흐름 Client Message 요청 -> Controller -> Service .. 2024. 3. 29.
[Redis] Redis를 이용한 임시번호 발급(OTP, 임시비밀번호, 인증문자) - Spring Boot 목차 Random String(임시 인증 번호 생성 OTP) Redis에 OTP(임시번호) 저장 유효 OTP 인증 추가적인 흐름 개요 임시 비밀번호 발급, 제한시간내에 발송된 SMS, LMS 와 같은 기능 구현을 위해 테스트 코드 작성. 요건 영어 대,소문자 + 숫자 조합 n자 Random String 인증번호 발급 이후 n분 후 파기 환경 Spring Boot 2.7.10 Redis 7.0.10 Docker 기본적인 Spring Boot 환경 + Redis 연동 및 설정 완료 기준으로 작성합니다. * 연동 설정 관련은 아래 포스팅 참고 https://lucas-owner.tistory.com/57 [Redis] Redis + Spring boot 연동 (2) 1. Redis + Spring Boot 연.. 2024. 3. 23.
[Redis] Redis - pub/sub 이란? 1. Message Queue pub/sub 은 Message Queue 라는 통신 방법중 하나이다. MSA(Micro Service Architecture) 의 구조에서는 모듈A 에서 모듈 B로 API 데이터를 넘겨야 하는 일들이 발생한다. 그런 상황에서 데이터 교환의 목적을 자주 사용되는 개념이다. 2. Redis pub/sub 이란? 위에서 설명했던, Message Queue의 메시징 패턴중의 하나이다. 채팅 시스템, 푸시 알림 시스템, 구독 시스템 과 같은 시스템에 사용된다. - 유의할점 Kafaka 의 경우 Topic 에 pub 되는 메시지들을 저장하는 구조이지만, Redis 의 경우 pub 메시지들을 저장 하지 않는다, 그런이유로 Subscriber 가 존재하지 않으면, 메시지가 사라지게 된다.. 2023. 7. 16.
[Redis] Redis + Spring boot 연동 (2) 1. Redis + Spring Boot 연결 Spring Boot 에서 Spring-data-redis 라이브러리를 통해 활용해보는 방법을 알아보겠습니다. - Redis Docker 설치 방법은 이전 포스팅을 참고 하세요! https://lucas-owner.tistory.com/56 [Redis] Redis란? - Docker로 간단 Redis(Local) 설치 (1) 1. Redis 란? - in-memory 방식의 No-SQL 기반 DBMS - Key-Value(키-값) 구조의 데이터를 저장, 관리 - Singel-Thread 기반으로 동작함.(명령 수행) - DB, Cache(캐시),Message Broker(메시지브로커) 용도로 주로 사용함. - lucas-owner.tistory.com ○ .. 2023. 3. 30.
[Redis] Redis란? - Docker로 간단 Redis(Local) 설치 (1) 1. Redis 란? - in-memory 방식의 No-SQL 기반 DBMS - Key-Value(키-값) 구조의 데이터를 저장, 관리 - Singel-Thread 기반으로 동작함.(명령 수행) - DB, Cache(캐시),Message Broker(메시지브로커) 용도로 주로 사용함. - 사용예시) 세션관리, 대기열, 실시간 순위표, 캐시 1-1. In-memory (인메모리 저장소) - MySQL, PostgreSQL, Oracle 과 같은 DBMS에서는 디스크 또는 SSD 와 같은 저장소에 저장하지만, Redis는 in-memory 방식으로 인해, 서버의 주 메모리에 저장된다. 필요한 데이터를 빠르게 조회, 처리 할 수 있다. (서버 메모리에 데이터가 적재되기 때문.) in-memory 방식이지만, .. 2023. 3. 29.