Redis는 사전 구조의 스토리지 서버입니다. 실제로 Redis 인스턴스는 데이터를 저장할 사전을 여러 개 제공합니다. 이는 관계형 데이터베이스 인스턴스에 여러 데이터베이스를 생성할 수 있어 각 사전을 독립된 데이터베이스로 이해할 수 있다는 잘 알려진 사실과 유사합니다.
각 데이터베이스는 0부터 시작하여 증가하는 숫자로 외부적으로 이름이 지정됩니다. Redis는 기본적으로 16개의 데이터베이스를 지원하며(구성 파일을 통해 더 많은 데이터베이스를 지원할 수 있으며 상한 없음), 이 숫자는 데이터베이스를 구성하여 수정할 수 있습니다. 클라이언트가 Redis와의 연결을 설정한 후 자동으로 데이터베이스 번호 0을 선택하지만 언제든지 SELECT 명령을 사용하여 데이터베이스 번호 1을 선택하려는 경우:
redis> SELECT 1 OK redis [1] > GET foo (nil)
그러나 이러한 데이터베이스는 숫자로 명명된 데이터베이스는 우리가 이해하는 데이터베이스와 다릅니다. 우선 Redis는 사용자 정의 데이터베이스 이름을 지원하지 않습니다. 각 데이터베이스의 이름은 숫자를 따라 지정됩니다. 개발자는 어떤 데이터베이스가 어떤 데이터를 저장하는지 기록해야 합니다. 또한 Redis는 각 데이터베이스에 대해 서로 다른 액세스 비밀번호 설정을 지원하지 않으므로 클라이언트는 모든 데이터베이스에 액세스하거나 하나의 데이터베이스에도 액세스할 수 있는 권한이 없습니다. 가장 중요한 점은 여러 데이터베이스가 완전히 격리되지 않는다는 것입니다. 예를 들어 FLUSHALL 명령은 Redis 인스턴스의 모든 데이터베이스에서 데이터를 지울 수 있습니다. 요약하자면, 이러한 데이터베이스는 네임스페이스에 더 가깝고 다른 애플리케이션의 데이터를 저장하는 데 적합하지 않습니다. 예를 들어, 0번 데이터베이스를 사용하여 애플리케이션의 프로덕션 환경에 데이터를 저장하고, 1번 데이터베이스를 사용하여 테스트 환경에서 데이터를 저장할 수 있습니다. 그러나 0번 데이터베이스를 사용하여 애플리케이션을 저장하는 것은 적합하지 않습니다. 애플리케이션 A의 데이터를 사용하고 데이터베이스 1번을 사용하여 애플리케이션 B의 데이터를 저장합니다. 애플리케이션은 데이터를 저장하기 위해 서로 다른 Redis 인스턴스를 사용해야 합니다. Redis는 매우 가볍기 때문에 빈 Redis 인스턴스는 약 1M만 차지하므로 여러 Redis 인스턴스가 많은 추가 메모리를 차지한다고 걱정할 필요가 없습니다.
redis에서 데이터베이스는 데이터베이스 이름이 아닌 정수 인덱스로 식별됩니다. 기본적으로 클라이언트는 데이터베이스 0에 연결됩니다. Redis 구성 파일의 다음 매개변수는 총 데이터베이스 수를 제어합니다.
/etc/redis/redis.conf
파일에는 구성 항목이 있습니다.databases = 16 //기본적으로 16개의 데이터베이스가 있습니다
위 내용은 Redis에는 몇 개의 라이브러리가 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!