한 서버에 거의 200개에 가까운 Redis 인스턴스가 열렸는데, 보기만 해도 무너졌습니다. 이는 서로 다른 애플리케이션에 속하는 서로 다른 유형의 데이터를 서로 별도로 유지하려는 노력에 지나지 않습니다.
그렇다면 Redis에는 서로 다른 애플리케이션 데이터를 동일한 인스턴스에 저장하면서 서로 별도로 보관할 수 있는 방법이 있나요? 이는 mysql 데이터베이스와 동일합니다. 다양한 애플리케이션 데이터가 서로 다른 데이터베이스에 저장됩니다.
redis에서 데이터베이스는 데이터베이스 이름이 아닌 정수 인덱스로 식별됩니다. 기본적으로 클라이언트는 데이터베이스 0에 연결됩니다. Redis 구성 파일의 다음 매개변수는 총 데이터베이스 수를 제어합니다.
databases 16
다음 명령을 통해 다른 데이터베이스로 전환할 수 있습니다
redis> select 2 OK
이후에는 명시적으로 다른 데이터베이스로 전환할 때까지 모든 명령이 데이터베이스 3을 사용합니다.
각 데이터베이스에는 자체 공간이 있으므로 데이터베이스 간의 주요 충돌에 대해 걱정할 필요가 없습니다.
다른 데이터베이스에서는 동일한 키가 고유한 값을 갖습니다.
flushdb 명령은 현재 데이터베이스의 데이터만 지우고 다른 데이터베이스에는 영향을 미치지 않습니다.
flushall 명령은 이 인스턴스의 데이터를 지웁니다. 이 명령을 실행하기 전에 각별히 주의하십시오.
기본적으로 16개로 데이터베이스 수를 구성할 수 있습니다. redis.conf에서 데이터베이스 지시문을 수정합니다.
databases 64
redis는 다른 데이터베이스를 연결하고 식별하는 방법을 제공하지 않습니다. 따라서 어떤 데이터가 어떤 데이터베이스에 저장되어 있는지 추적해야 합니다.
따라서 200개의 인스턴스를 빠르게 여는 위의 시나리오는 너무 많은 인스턴스를 열지 않고도 다른 데이터베이스를 사용하여 저장할 수 있습니다.
더 많은 Redis 지식을 알고 싶다면redis 입문 튜토리얼칼럼을 주목해 주세요.
위 내용은 Redis 다중 데이터베이스 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!