Redis란?
key-value 형태로 저장하는 서버
레디스는 인메모리 데이터 구조 저장소로, 데이터베이스, 캐시, 메시지 브로커를 사용한다.
레디스는 인메모리인 램에서 데이터를 관리한다. 그래서 속도가 빠르다
언제 사용하는 것이 좋은가?
I/O가 빈번하게 발생하는 경우
ex) 좋아요, 조회수, 사용자의 세션 관리 등등
Redis의 데이터 구조
문자열(String), 해시(hash), 리스트(List), 셋(sets) 등등 지원
redis 특징
- 데이터 타입은 String, Set, List, Sorted set, Hash, Bit arr, HyperLog, Stream을 지원한다.
- 데이터 저장은 메모리를 포함하여 디스크에도 저장을 할 수 있다.
- 스냅샷을 통해서 디스크에 담을 수 있는데 이를 통해서 비휘발성의 특징도 가지고 있다.
- 반복적인 스냅샷을 통하여 디스크에 저장해 메모리의 여유 공간을 만들 수 있다.
- 싱글쓰레드를 지원한다.
- 캐시 용량은 Key와 Value 모두 512MB를 지원한다.
- 데이터를 복제하고, 들어온 데이터를 실시간 업데이트가 가능하여 서버 복제가 가능하다.
- 이러한 이유로 스토리지로도 사용할 수 있다.
- Lua 익스텐션을 지원해서 로직을 만들어서 적용시킬 수 있다.
- ACID를 유사하게 지원해서 트랜잭션을 걸 수 있다.
참고
https://sudo-minz.tistory.com/101
https://pinggoopark.tistory.com/281
https://seokhyun2.tistory.com/63
'개발 지식' 카테고리의 다른 글
WAS와 Web Server (0) | 2023.02.12 |
---|---|
동기(Synchronous)와 비동기(Asynchronous) (0) | 2023.01.24 |
CI/CD란? (0) | 2022.12.14 |
Redis(2) 사용 방법 (0) | 2022.11.22 |
VSCODE import 오류 (0) | 2022.10.11 |