Redis
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> Redis

Sử dụng Redis cho hàng đợi cho nhiều ứng dụng Laravel trên một máy chủ duy nhất

Tôi cũng gặp vấn đề này và tôi đã mất hàng giờ để tìm ra giải pháp.

https://laravel.com/docs/5.6/queues#driver-prerequisites nói:

Để sử dụng redis trình điều khiển hàng đợi, bạn nên định cấu hình kết nối Redisdatabase trong config/database.php của mình tệp cấu hình.

Và sau đó https://laravel.com/docs/5.6/redis#predis nói:

Ngoài host mặc định , port , databasepassword tùy chọn cấu hình máy chủ, Predis hỗ trợ các tham số kết nối bổ sung có thể được xác định cho từng máy chủ Redis của bạn. Để sử dụng các tùy chọn cấu hình bổ sung này, hãy thêm chúng vào cấu hình Redisserver của bạn trong config/database.php tệp cấu hình.

Đọc trang "thông số kết nối", cuối cùng tôi tìm thấy https://github.com/nrk/predis/wiki/Client-Options, cho biết rằng 'tiền tố' là một tùy chọn được hỗ trợ.

Vì vậy, bạn có thể chỉnh sửa config/database.php của mình tệp cấu hình cần có:

'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,
        ],
    ],

Tôi không chắc liệu sau đó bạn có cần khởi động lại Redis hoặc Supervisord hay không.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kết hợp hai phiên bản Redis thành một phiên bản duy nhất có hai dbs

  2. redis-py:Sự khác biệt giữa nghiêm ngặt () và Redis () là gì?

  3. Muốn triển khai các ổ cắm web trong Laravel

  4. Không thể nhận được kết nối Jedis; Không thể lấy tài nguyên từ nhóm

  5. Đăng ký nhiều kênh với cùng một chủ đề Jedis