Redis (REmote DIctionary Service)
: Key-Value 구조를 가지는 비정형 데이터를 저장하고 관리하는 오픈소스 기반의 비관계형 DBMS
특징
- Key, Value 구조로, 쿼리를 사용하지 않음
- 다양한 데이터 타입 지원
- 데이터베이스, 캐시, 메시지 브로커로 사용됨
- 데이터를 컴퓨터의 메인 메모리(RAM)에 저장하는 인메모리 데이터 구조로, 주로 캐싱이나 세션 관리 등 빠른 데이터 처리가 필요한 임시 데이터를 저장하는데 사용.
- 중요한 정보를 Redis에 저장할 때는 영속성을 활용해 데이터를 디스크에도 저장할 수 있도록 설정하여 데이터를 복구할 수 있음. (설정을 통해 영속성 지원, 데이터 복구 기능 가짐)
- 캐시로 인해 DB의 부하를 줄이고 서비스의 속도도 느려지지 않음.
- 싱글 스레드로, 한 번에 하나의 명령만 처리 가능.
Redis의 트랜잭션
- 트랜잭션을 사용할 경우 명령들은 queue에 모아두고 한 번에 처리
- 롤백을 지원하지 않아 중간에 실패하더라도 실패한 명령을 제외하고 나머지 명령들은 모두 실행됨.
// Redis
implementation 'org.springframework.boot:spring-boot-starter-data-redis'
build.gradle에 이와 같이 의존성을 추가해줘야 사용 가능.
'TIL & WIL' 카테고리의 다른 글
[TIL] #137. 240128 (0) | 2024.01.28 |
---|---|
[TIL] #136. 240127 (0) | 2024.01.27 |
[TIL] #134. 240125 (Access Token & Refresh Token) (0) | 2024.01.25 |
[TIL] #132. 240123 (Spring Security ExceptionHandling) (0) | 2024.01.24 |
[WIL] #19. 240115~240121 (0) | 2024.01.22 |