레디스는 Remote Dictionary Server의 약자로서, "키-값" 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터베이스 관리 시스템이다. 2009년 살바토르 산필리포가 처음 개발했다. 2015년부터 Redis Labs가 지원하고 있다. 모든 데이터를 메모리로 불러와서 처리하는 메모리 기반 DBMS이다. BSD 라이선스를 따른다. 위키백과
후다닥 정리하는 장점
- 고가용성구현이 가능 ( Master - slave, Chain 모델 등 )
- 모든 데이터 구조 지원 : stack(LIFO), queue(FIFO) 지원
Key |
List |
Set |
Queue |
value |
array |
집합 |
pop 등 |
json 형태 |
|
|
FIFO |
* HA (고가용성)
- 구현 대상 : 365일 24시간 서비스
- 고가용성 적용
1) 클러스트링 : 여러대상을 묶어 주키퍼가 각 node를 관리(hash ring)하는 코디네이터 기법
2) Master - slave 모델 : 읽기(select)와 쓰기(CRUD 포함)에 대한 데이터 분산
( select가 대부분의 부하를 차지[ select:CRUD = 8:2 ]하므로 slave를 바라보도록, 나머지 CRUD가 master를 바라보도록)
3) sharding 기법 : 데이터를 쪼개서 넣는다.
+ pm2 (일종의 Tomcat)과 함께 쓰임 : 서버가 다운되도 redis에 저장된 값들을 dump로 떨어뜨려 재 시작 시, 각 값(key)들을 백업하여 사용할 수 있다.
메모리를 할당하는 DB같은 놈인 Redis는 언제 사용하나? 대표적인 예가 로그인 세션
'Others > 데이터베이스' 카테고리의 다른 글
Mongoose(몽구스) 스키마(Schema) (0) | 2018.12.21 |
---|---|
맥 osx에 mongodb 설치 및 테스트 Hello world (0) | 2018.09.13 |
[Mongo DB] 몽고디비 자주 쓰는 명령어 정리 / find() 위주 (2) | 2018.07.04 |
트랜잭션이란 (0) | 2018.03.26 |
SQL 에서 inner join, outer join 의 차이점 (0) | 2018.03.26 |