티스토리 뷰

Database/redis

레디스(Redis) 란?

chan20 2020. 7. 16. 18:16

레디스란 무엇일까 ??

Key와 Value를 가진 NoSQL 데이터베이스 이다.

NOSQL이란

 

NOSQL

NOSQL SQL은 정형데이터를 저장하며 NOSQL은 Key Value 값들을 가진 비정형데이터를 저장합니다. 검색과 추가기능 같은 것을 응답, 처리를 빠른 속도로 처리가 가능합니다 NOSQL이 Not Only SQL 이라고 불리

dev-chan2.tistory.com

레디스 특징

ㅇ 인 메모리 데이터 구조 : 디스크 아닌 메모리 기반으로 한 데이터 구조 안에 다양한 데이터 구조들이 있다. List, Set, Hash, Map 등의 유형들을 인 메모리 안에 저장 할 수 있습니다. Redis 중 큰 특징이라 생각합니다.

ㅇ 디스크에서 데이터를 저장 하는 것과는 달리 서버의 주 메모리에 저장하여 디스크에 액세스해야 할 필요를 없앰으로써 검색 시간으로 인한 지연을 방지하고 CPU 명령을 적게 사용하는 좀 더 간단한 알고리즘으로 데이터에 액세스할 수 있습니다

ㅇ 개발과 운영을 좀 더 쉽게 할 수 있으며 Pub/Sub 사용하여 메시징 시스템에 유용하며 불필요한 데이터를 채우지 않게하는 데 유용합니다.

ㅇ 캐시를 사용하여 속도가 빠르고 정보가 사리지지 않습니다. 

ㅇ 다수 언어 지원

레디스 사례

ㅇ 캐시를 생성하여 액세스 시간을 줄이고 처리량을 늘려서 DB에 부담을 덜어줍니다.

ㅇ 세션관리에 유용하다 TTL을 사용하면 TTL의 유효시간과 맞게 세션관리를 할 수 있어 유용하지 않을까 생각이 든다. 게임, 전자 상거래 웹 사이트, 소셜 미디어 플랫폼을 비롯한 온라인 애플리케이션 에서 주로 사용한다고 합니다.

ㅇ Sorted Set을 사용하면 자동 정렬을 할 수 있어 순위 매기기에 좋은 것 같습니다.

ㅇ 이벤트 속도를 측정하고 제어할 수 있습니다 

ㅇ List를 사용하면 영구 대기열을 만들 수 있다. 자동 작업 및 차단 기능을 제공하므로 신뢰할 수 있는 메시지 브로커, 순환 목록이 필요한 다양한 애플리케이션에 사용 된다고 합니다.    

패턴 매칭과 더불어 PUB/SUB이 지원이 된다고 한다. 고성능 채팅방, 실시간 코멘트 스트림 및 서버 상호 통신을 지원할 수 있다고 합니다. 

 

 

이렇게  글로는 이해는 되지만 뭔가 감이 안오는 것 같다. 한번  코딩 하면서 좀 이해 하면 이해가 잘되지 않을 까 생각이 든다.

나중에 Kafka와 연동해서 사용도 해봐야 겠다.

 

참고

 

Redis란 무엇입니까? – Amazon Web Services(AWS)

Redis 개발자는 백 개가 넘는 오픈 소스 클라이언트를 사용할 수 있으며, Java, Python, PHP, C, C++, C#, JavaScript, Node.js, Ruby, R, Go를 비롯한 다수의 언어가 지원됩니다.

aws.amazon.com

 

'Database > redis' 카테고리의 다른 글

redis 자료구조 및 명령어  (0) 2020.07.20
Redis - Spring 연동  (0) 2020.07.20
NOSQL  (0) 2020.07.16