Redis가 기본적으로 16개의 데이터베이스를 생성하는 이유는 무엇입니까?

王林
풀어 주다: 2021-02-25 09:17:51
앞으로
2712명이 탐색했습니다.

Redis가 기본적으로 16개의 데이터베이스를 생성하는 이유는 무엇입니까?

실제 개발 작업에서는 일반적으로 캐싱, 분산 잠금/메시지 대기열 등을 위해 Redis 데이터베이스를 사용합니다. 하지만 우리는 일반적으로 다음과 같은 질문을 합니다. Redis 서버를 설정하고 구성한 후 기본적으로 16개의 데이터베이스가 생성되는 이유는 무엇입니까?

이제 이 질문을 소개하겠습니다.

Redis가 기본적으로 16개의 데이터베이스를 생성하는 이유는 무엇입니까?

1. 16개 데이터베이스의 유래

redis는 사전 구조의 스토리지 서버입니다. Redis 인스턴스는 데이터를 저장할 사전을 여러 개 제공합니다. 이는 관계형 데이터베이스 인스턴스에서 여러 데이터베이스를 생성하는 방법(아래 그림 참조)과 유사하므로 각 사전을 독립된 데이터베이스로 이해할 수 있습니다.

Redis가 기본적으로 16개의 데이터베이스를 생성하는 이유는 무엇입니까?

Redis는 기본적으로 16개의 데이터베이스를 지원합니다. redis 구성 파일 redis/redis.conf에서 데이터베이스를 조정하여 이 값을 수정할 수 있습니다. 설정이 완료된 후 redis를 다시 시작하여 구성을 완료하세요.

Redis가 기본적으로 16개의 데이터베이스를 생성하는 이유는 무엇입니까?

클라이언트가 Redis와 링크를 설정한 후에는 기본적으로 데이터베이스 번호 0이 선택되지만 언제든지 선택 명령을 사용하여 데이터베이스를 변경할 수 있습니다.

# 切换数据库操作:切换到1
127.0.0.1:6379> SELECT 1
OK
127.0.0.1:6379[1]>
127.0.0.1:6379[1]>
# 切换到0
127.0.0.1:6379[1]> SELECT 0
OK
127.0.0.1:6379>
# 从1号库中获取username
127.0.0.1:6379[1]> get username 。
로그인 후 복사

(학습 영상 공유: redis 영상 튜토리얼)

실제 프로젝트에서는 아래 그림과 같이 redis 구성 파일 형태로 데이터베이스를 지정할 수 있습니다

Redis가 기본적으로 16개의 데이터베이스를 생성하는 이유는 무엇입니까?

2. 올바르게 redis 이해 " "데이터베이스" 개념

redis는 사용자 정의 데이터베이스 이름을 지원하지 않기 때문에 각 데이터베이스의 이름은 숫자로 지정됩니다. 개발자는 저장된 데이터와 데이터베이스 자체 간의 대응 관계를 기록해야 합니다. 또한 Redis는 각 데이터베이스에 대해 서로 다른 액세스 비밀번호 설정을 지원하지 않습니다. 모든 클라이언트는 모든 데이터베이스에 액세스할 수 있거나 모든 데이터베이스에 액세스할 수 있는 권한이 없습니다. Redis의 "데이터베이스" 개념을 올바르게 이해하려면 다음 명령을 언급해야 합니다.
Redis 인스턴스의 모든 데이터베이스에서 데이터 지우기
127.0.0.1:6379> FLUSH ALL
Redis 데이터베이스에서 데이터를 지우면 다른 데이터는 지워지지 않습니다. library Data
127.0.0.1:6379> FLUSH db0
이 명령은 우리에게 익숙한 관계형 데이터베이스와는 다른 인스턴스 아래의 모든 데이터베이스 데이터를 지울 수 있습니다. 관계형 데이터베이스의 여러 라이브러리는 다양한 애플리케이션의 데이터를 저장하는 데 사용되는 경우가 많으며, 인스턴스 아래의 모든 라이브러리 데이터를 동시에 지울 수 있는 방법은 없습니다. Redis의 경우 이러한 DB는 네임스페이스와 유사하며 다른 애플리케이션의 데이터를 저장하는 데 적합하지 않습니다. 예를 들어, 0번 데이터베이스를 사용하여 개발 환경에 데이터를 저장하고, 1번 데이터베이스를 사용하여 테스트 환경에 데이터를 저장할 수 있습니다. 그러나 0번 데이터베이스를 사용하여 애플리케이션 A와 1번 데이터베이스의 데이터를 저장하는 것은 적합하지 않습니다. 1번 데이터베이스를 사용하여 애플리케이션 B의 데이터를 저장합니다. 다른 환경 데이터를 저장하려면 다른 Redis 인스턴스를 사용해야 합니다. Redis는 매우 가볍습니다. 빈 Redis 인스턴스는 약 1M의 메모리만 차지하므로 여러 Redis 인스턴스가 많은 추가 메모리를 차지하는 것에 대해 걱정할 필요가 없습니다.

3. 하나의 인스턴스가 클러스터의 여러 DB를 지원합니까?

위 내용은 모두 싱글 Redis의 상황을 기준으로 작성되었습니다. 클러스터의 경우 redis 클러스터 모드에는 db0이 하나만 있기 때문에 select 명령을 사용하여 db를 전환하는 것은 지원되지 않습니다.

추천 학습: redis 데이터베이스 튜토리얼

위 내용은 Redis가 기본적으로 16개의 데이터베이스를 생성하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!