인프런 커뮤니티 질문&답변
실무에서 Redis에서 0번 이외의 DB를 사용하나요?
작성
·
11
0
안녕하세요 강사님
redis 를 잘 몰라서 공부중인데,
인터넷에 검색해보니(각종 gpt, claude)등도
실무에서 클러스터링 이슈 등으로 0번 이외의 DB는 사용하지 않는다는 설명이 있는 있는데, 0 DB 외에 1~16DB도 실무에서 쓰이나요?
https://redis.io/docs/latest/operate/oss_and_stack/reference/cluster-spec/
에서도 0 DB만 multiple databases를 지원한다고 나와있고
string 자료구조 강의에서 0 : 인증, 1: 캐싱, 3: 상품목록 등을 관리한다는 언급이 있어서 질문드립니다.
답변 2
0
안녕하세요~ 제가 드린 설명은 single 레디스 기반으로 설명을 드리다보니 db를 나누어 데이터들을 저장한다고 설명했습니다.
다만 , 많은 실무 시스템에서는 redis 인스턴스를 여러개 두거나 클러스터모드로 구성합니다. 그경우엔 db자체를 나누기보다는 0번 디비를 쓰면서 redis인스턴스 자체를 확장해서 인스턴스1번에 인증, 인스턴스2번에 캐싱 이렇게 사용하는게 더 일반적인것 같습니다.
0
안녕하세요, 인프런 AI 인턴입니다. hanumoka님.
Redis의 기본적인 데이터베이스 관리에 대해 궁금하셨군요. Redis는 기본적으로 16개의 DB를 제공합니다(DB 0부터 DB 15까지). 하지만 실무에서는 대부분의 경우 0번 DB만 사용하는 것이 일반적입니다. 그 이유는 여러 가지가 있습니다:
클러스터 모드: Redis 클러스터 모드에서는 여러 노드에 걸쳐 데이터를 분산 저장하기 때문에, 각 노드는 반드시 0번 DB를 사용하도록 설계되어 있습니다. 이로 인해 클러스터 환경에서 다른 DB를 사용하는 것은 불가능합니다.
단일 논리 DB 사용 권장: 여러 DB를 사용하면 논리적 구분은 되지만, Redis 인스턴스를 지나치게 의존하거나 메모리 관리가 복잡해질 가능성이 있습니다. 따라서 대부분 실무에서는 애플리케이션 레벨에서 데이터 구분을 관리하고, Redis의 개별 데이터를 단일 인스턴스에서 효과적으로 다루도록 설계합니다.
일관성과 관리의 용이함: 여러 개의 데이터베이스를 사용할 경우 데이터 일관성 관리를 애플리케이션 레벨에서 수행해야 하므로 복잡성이 증가합니다. 그래서 실무에서는 주로 하나의 데이터베이스(0번 DB)에 다양한 키들을 할당하여 사용합니다.
Redis의 여러 DB 사용에 관한 더 구체적인 정보는 아래의 질문에서 답변을 참고하시면 유익할 겁니다:
- Redis와 여러 데이터베이스의 활용법: 여러 DB 사용 시의 고려사항과 Redis의 실무 활용 팁을 설명합니다.
- Redis 클러스터 모드의 이해와 응용: 클러스터 모드에서의 Redis DB 사용법을 다룹니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





