1. 程式人生 > >解決Laravel增加redis伺服器配置不起作用問題

解決Laravel增加redis伺服器配置不起作用問題

最近工作中有這麼一個需求,需要在建立內容時往redis中儲存一條記錄,博主在本地虛擬機器上搭建了一臺redis伺服器用來測試,結果出現了這個問題
database.php中原本已經有了幾臺redis伺服器,再把我的redis新增進去時使用
Redis::connection(‘update_playlist_mid’); 連線失敗,但是將我的伺服器名稱改成已經存在的伺服器名稱並把這個伺服器去除掉之後,就能夠用了

'redis' => [

        'cluster' => false,

        'default' => [
            'host' => env('REDIS_HOST', 'localhost'),
            'password' => env('REDIS_PASSWORD', null),
            'port' => env('REDIS_PORT', 6379),
            'database' => 0,
        ],
       /* 'test' => [
            'host' => '192.67.7.9',
            'password' => null,
            'port' => 21079,
            'database' => 0,
        ],*/
        //註釋掉test伺服器並把我的redis名稱改成test就能夠使用了
        'update_playlist_mid' => [
            'host' => '192.168.8.130',
            'password' => null,
            'port' => 6379,
            'database' => 0,
        ],

這個問題搞得我一臉矇蔽,想了想可能是某個配置檔案的問題,查了一些laravel文件發現因為配置資訊快取的問題
使用以下 Artisan 自帶命令,可以把 config 資料夾裡所有配置資訊合併到一個檔案裡,減少執行時檔案的載入數量:
php artisan config:cache
上面命令會生成檔案 bootstrap/cache/config.php
配置資訊快取不會隨著更新而自動過載,所以我更新了database.php配置才會不起作用,這個一般在生產環境的時候才使用
可以使用以下命令來取消配置資訊快取:
php artisan config:clear
此命令做的事情就是把 bootstrap/cache/config.php 檔案刪除,這時候再連線redis就沒有問題了

這裡有篇文件大家可以看一下,講的比較細
https://laravel-china.org/articles/2020/ten-laravel-5-program-optimization-techniques