Redis란 Remote Dictionary Server의 약자이다.
Redis의 특징 - 다양한 Collection 지원
Redis는 In-memory 데이터베이스이다
- 디스크 접근인 RDBMS 속도 << 메모리 접근인 레디스
이게 흔히 알고 있는 Redis의 특징이지만, Redis는 다른 In-memory 데이터베이스와 다른 특징을 가지고 있다.
- 다양한 자료구조를 지원 -> 개발 편의성
이렇게만 봐서는 뭔가 와닿지가 않는다.
예를 들어, 실시간 랭킹 서버를 구현한다면?
1) RDBMS를 이용하여 구현한 경우
- 저장된 SCORE를 정렬하여 가져오는 과정 필요
- 개수 많아지면 느려짐
- 트랜잭션 문제도 신경 써야함
2) Redis를 이용하여 구현한 경우
- Redis의 Sorted Set을 사용하기 때문에 정렬이 필요 없음 ( 다양한 Collection의 장점 )
- 모든 자료구조는 Atomic 하기 때문에 데이터 정합성 보장이 쉬움
Redis Key
Redis 키를 잘 설계 하는것도 중요하다. 왜냐하면, 키를 생성하는 방법에 따라 분산이 몰릴 수가 있기 때문이다.
키 설계는 어떻게?
- object-type : id ( ex : user:1000 )
- 키는 가독성이 좋도록 설계
- 너무 길어진다면 hash의 member로 저장하는거 권장
참고
'Back-End > Redis' 카테고리의 다른 글
레디스와 분산락 (0) | 2020.07.19 |
---|---|
레디스(Redis)의 다양한 활용 사례 (4) | 2020.03.17 |
Redis Spring Boot에 설정하기 및 개요 (0) | 2020.01.24 |