레디스란?
레디스(REmote Dictionary Server)란 Key와 Value를 가진 NoSQL DBMS이다.
In-memory 데이터 저장소이며, 보통 DB, 캐시, 메시지 브로커 등의 용도로 사용하는 NoSQL DBMS.
초당 10만 ~ 15만건의 명령을 수행 가능하며, 파이프링을 통해 리눅스 시스템에서 초당 100만건의 요청도 수행이 가능하다.
레디스의 특징
- In-memory 데이터 구조 : 디스크가 아닌 메모리 기반으로 한 데이터 구조 안에 데이터를 저장한다.
- 디스크에 접근할 필요를 없애 검색 시간으로 인한 지연을 방지하며 CPU 명령을 적게 사용하는 좀 더 간단한 알고리즘으로 접근 가능하다.
- Pub/Sub을 사용하여 메시징 시스템에 유용하며 불필요한 데이터를 채우지 않게하는데 유용.
- 캐시를 사용하여 속도가 빠르다.
- 싱글 스레드 기반 명령 수행 : Atomic operations을 보장하며 동시성을 지원한다.
- 다양한 데이터 타입 지원 : strings, hashes, lists, sets, sorted sets, bitmaps, hyperloglogs, geospatitial indexes, streams 등을 지원하며 lists의 경우 일반적인 RDB와 비교하면 10배 빠른 속도를 지원.
- Master-Slave 구성 가능 : Master-Slave와 같은 Redis Replication뿐만 아닌 Redis cluster를 이용한 분산처리, Redis Sentinel을 이용한 장애복구 시스템도 제공한다.
'개념' 카테고리의 다른 글
프록시 서버란? (Proxy Server) (0) | 2022.06.17 |
---|---|
웹 서버(Web Server)란? WAS란? (0) | 2022.06.17 |
람다(Lambda)란? (0) | 2022.06.17 |
보일러플레이트(Boiler Plate)란? (0) | 2022.06.17 |
RESTFUL(restful)(RESTful) API가 무엇일까? (0) | 2022.06.17 |