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 trongconfig/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
,database
vàpassword
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 trongconfig/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.