| 기존의 파일 시스템의 데이터베이스 | Redis (인메모리 데이터베이스) | |
|---|---|---|
| 종류 | MySQL, MariaDB, Oracle,,, | Redis |
| 저장 공간 | HDD(하드디스크), SSD | RAM(메모리) |
| 형태 | 관계형 테이블 | key - value |
| 특징 | 영속성, 일관성 good | 휘발성, 확장성, 유연성 good |
| 확장성, 유연성 bad | 영속성, 일관성 bad | |
| SQL | NoSQL | |
| 데이터 변경이 상대적으로 느림 | 데이터 변경이 상대적으로 빠름 | |
| 일반적으로 많이 사용, 장기간 보관용 | 상대적으로 변경이 잦은 기능에 많이 사용, 임시 데이터 | |
| 사용 예 | 세션, 장바구니, 조회 수 etc. |
NoSQL Database의 종류
Redis,MongoDB,Column Family(cassandra)etc.
완벽한 컨트롤이 어렵기 때문에 권장하지 않음!
- 완전한 삭제가 어려운 상황이 생기기도 함.
- 나도 모르는 사이 백그라운드에서 돌아가기도 함.
Mac OS : brew
Windows : WSL 설치 -> Linux 설치 -> APT
Linux : APT
추천하는 방법!!!
-> 컨테이너화된 격리된 환경에 설치하는 것이므로 컨트롤이 상대적으로 쉬움.
-> 미사용 시 컨테이너 내리면 됨
↓ docker-compose.yml 예시
services:
redis-stack:
image: redis/redis-stack
container_name: redis-stack-compose
restart: always
environment:
REDIS_ARGS: "--requirepass 설정할 비번"
ports:
- 6379:6379
- 8001:8001
해당 yml파일이 존재하는 디렉토리에서 docker 명령어 실행
docker compose up -ddocker compose ps