복붙노트

[REDIS] 단일 서버에서 여러 Laravel 응용 프로그램에 대한 큐의 레디 스를 사용하여

REDIS

단일 서버에서 여러 Laravel 응용 프로그램에 대한 큐의 레디 스를 사용하여

나는 생산 laravel 응용 프로그램과 동일한 서버에서 실행 준비 응용 프로그램이 있습니다. 나는 내 큐 드라이버로 사용하고 레디 스를 실행하고 있습니다. 그들은 분명히 다른 데이터베이스에 연결되어 있습니다. 레즈에 밀려 작업이 생산 dB 반대로 방해 준비 응용 프로그램에서 대기하는 경우 질문입니다.

해결법

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

    1.당신은 Laravel은 레디 스 캐시에 사용하는 접두사를 설정할 수 있습니다. 키 이름과 Laravel지고 / 저장할 때이 접두사를 추가 / 제거하는 로직을 담당 : 모든 키가 laravel으로 저장되도록 기본적으로 이것은 laravel입니다.

    당신은 Laravel은 레디 스 캐시에 사용하는 접두사를 설정할 수 있습니다. 키 이름과 Laravel지고 / 저장할 때이 접두사를 추가 / 제거하는 로직을 담당 : 모든 키가 laravel으로 저장되도록 기본적으로 이것은 laravel입니다.

    당신은 접두사의 설정 / cache.php 설정할 수 있습니다. 당신은 laravel로 주를 떠나 단계 또는 무언가에 준비 응용 프로그램 접두사를 설정할 수 있습니다. 이것은 여러 Laravel 애플 리케이션이 같은 레디 스 인스턴스를 사용할 수 있음을 의미합니다.

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

    2.나는이 같은 문제가 있고, 그것은 해결책을 찾기 위해 나에게 시간이 걸렸다.

    나는이 같은 문제가 있고, 그것은 해결책을 찾기 위해 나에게 시간이 걸렸다.

    https://laravel.com/docs/5.6/queues#driver-prerequisites는 말합니다 :

    그리고 https://laravel.com/docs/5.6/redis#predis는 말합니다 :

    "연결 매개 변수"페이지를 읽고, 나는 결국 그 '접두사'수있는 지원 옵션라고하는 https://github.com/nrk/predis/wiki/Client-Options을 발견했다.

    그래서, 당신은 당신의 설정을 편집 할 수 있습니다 / database.php 구성 파일이합니다 :

    'redis' => [
            'client' => 'predis',
            'cluster' => false,
            'options'=>[
                'prefix' => env('REDIS_PREFIX', 'YOUR_PREFIX_HERE')
            ],
            'default' => [
                'host'     => env('REDIS_HOST', '127.0.0.1'),
                'password' => env('REDIS_PASSWORD', null),
                'port'     => env('REDIS_PORT', 6379),
                'database' => 0,
            ],
        ],
    

    나는 당신이 다음 레디 스 또는 Supervisord를 다시 시작해야하는 경우가 아니에요.

  3. ==============================

    3.Laravel 5.5.22 현재 캐시 접두사는 APP_NAME 환경 변수를 사용하고 있습니다. 당신은 충분히의 또는 대안 경우 기본적으로 설정되지 않은 CACHE_PREFIX 환경 변수를 사용하여 접두어를 구성 할 수 있음에 의존 할 수 있습니다.

    Laravel 5.5.22 현재 캐시 접두사는 APP_NAME 환경 변수를 사용하고 있습니다. 당신은 충분히의 또는 대안 경우 기본적으로 설정되지 않은 CACHE_PREFIX 환경 변수를 사용하여 접두어를 구성 할 수 있음에 의존 할 수 있습니다.

    당신이 당신의 대기열을 관리 할 수 ​​Laravel 호라이즌를 사용하는 경우, 당신은 단순히 나란히 실행하는 응용 프로그램 사이 호라이즌 미분을하게하는 HORIZON_PREFIX 환경 변수를 대체 할 수 있습니다.

  4. from https://stackoverflow.com/questions/31272649/using-redis-for-queues-for-multiple-laravel-applications-on-a-single-server by cc-by-sa and MIT license