복붙노트

[REDIS] 여러 프로젝트와 dev에 컴퓨터에 데이터베이스 레디 스

REDIS

여러 프로젝트와 dev에 컴퓨터에 데이터베이스 레디 스

이러한 프로젝트 중 일부는 레디 스 데이터베이스를 사용할 때 어떻게 당신이 당신의 개발 및 / 또는 시험 장치에서 여러 프로젝트를 관리합니까?

이 중요한 문제가 있습니다 :

지금, 나는 우리가 세 가지 옵션이 생각 :

여러 프로젝트가 주요 사용은 "0"를 할당하고 시험 등을위한 "1"이 경우 첫 번째 문제가있다. 프로젝트 B는 "2"및 "3"로 변경하기로 결정하더라도, 프로젝트의 다른 회원은 그에게 또 다른 프로젝트에 충돌이있을 수 있습니다. 즉, 그 접근 방식은 SCM 친절하지 않습니다.

두 번째의 경우, 그것은 런타임 성능 및 메모리 효율에 불필요한 오버 헤드를 추가 단순히 때문에 나쁜 생각을합니다. 그리고 상관없이 당신이 무엇을, 또 다른 프로젝트는 프로젝트에 합류 할 때 이미 우연히 동일한 키를 사용하여 일 수 있습니다.

세 번째 옵션은 오히려 타협의 산물이지만, 때때로 나는 다른 프로젝트를위한 작은 패치를 배포하면서 그대로 내 로컬 데이터를 유지하려는.

나는 이것이 레디 스에 대한 기능 요청 될 수 알지만, 지금은 솔루션이 필요합니다.

어떤 아이디어, 관행?

해결법

  1. ==============================

    1.프로젝트는 독립적 등 데이터를 공유 할 필요가 없습니다 경우, 그것은 여러 레디 스 인스턴스를 사용하는 것이 훨씬 낫다 - 각 프로젝트 구성이 포트 번호가 아닌 데이터베이스 이름 / ID가 있습니다. 당신은 한 번의 클릭으로 실행 필요가 중 예를 얻을 수 있도록 각각에 대한 적절한라는 이름의 설정 파일과 시작 스크립트를 작성합니다.

    프로젝트는 독립적 등 데이터를 공유 할 필요가 없습니다 경우, 그것은 여러 레디 스 인스턴스를 사용하는 것이 훨씬 낫다 - 각 프로젝트 구성이 포트 번호가 아닌 데이터베이스 이름 / ID가 있습니다. 당신은 한 번의 클릭으로 실행 필요가 중 예를 얻을 수 있도록 각각에 대한 적절한라는 이름의 설정 파일과 시작 스크립트를 작성합니다.

    다소 혼란 버그 일 것 같은 dump.rdb 파일을 사용하여 여러 인스턴스하지만, 리드 - 반드시 각 config 파일의 설정뿐만 아니라 포트를 설정 퇴피를 업데이트 확인합니다.

    나는 또한 테스트 인스턴스 디스크에 아무것도 기록하지 않고 각 테스트의 시작 플러시 할 수 결코 개발 등 테스트를위한 별도의 인스턴스를 사용합니다.

  2. ==============================

    2.나는 당신이기구를 넣어 마이그레이션 조만간 시작하는 것이 좋습니다 그래서 레디 스 멀리 여러 데이터베이스에서 움직이고있다. 이 DB 당 하나 개의 인스턴스를 의미합니다. 레디 스를 실행하는 매우 낮은 오버 헤드를 감안할 때, 이것은 자원의 관점에서 문제가되지 않습니다.

    나는 당신이기구를 넣어 마이그레이션 조만간 시작하는 것이 좋습니다 그래서 레디 스 멀리 여러 데이터베이스에서 움직이고있다. 이 DB 당 하나 개의 인스턴스를 의미합니다. 레디 스를 실행하는 매우 낮은 오버 헤드를 감안할 때, 이것은 자원의 관점에서 문제가되지 않습니다.

    즉, 데이터베이스의 수를 지정하고 네이밍 표준 일하는 것이 제공 할 수있다. 예를 들어, 구성은, 말하자면이 60 DBS하는 레디 스 당신은 테스트 DB 10를 추가합니다. 예를 들어 DB3의 사용은 테스트를위한 DB13.

    dev에, 테스트, 자극 환경이 꽤 함께 묶여 것 같은데. 그렇다면, 나는 그에서 멀리 이동하는 게 좋을 것. 별도의 인스턴스를 사용하는 가장 쉬운 경로이며, 크로스 목적 오염에 대한 보호 기능을 제공합니다. 이 및 인스턴스 당 단일 DB 인 레디 스의 미래 사이에 별도의 인스턴스는 최선의 경로입니다.

  3. from https://stackoverflow.com/questions/5148390/redis-databases-on-a-dev-machine-with-multiple-projects by cc-by-sa and MIT license