Laravel 預設 Session 是放在 file 中,導致網站讀取 Session 的時候變得較慢,例如我的測試網站放在比較舊款的 Synology NAS 中,硬碟使用的傳統 5400rpm 的硬碟,在瀏覽 Laravel 的網站資料量大些相對地變得很慢,光開個首頁就要 3-5秒以上,所以試著將 Laravel 轉入 Redis,速度變得很快,只要一、兩秒就可以載入首頁。

安裝 Redis

  1. Synology NAS 請參考 Synology NAS – 安裝 Redis 及 PHP Redis extension
  2. XAMPP 請參考 XAMPP 安裝 Redis 及 PHP Redis extension

修改 config\database.php

'redis' => [
    'client' => env('REDIS_CLIENT', 'phpredis'),
    'options' => [
        'cluster' => env('REDIS_CLUSTER', 'redis'),
        'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
    ],
    'default' => [
        'url' => env('REDIS_URL'),
        'host' => env('REDIS_HOST', '127.0.0.1'),
        'password' => env('REDIS_PASSWORD', null),
        'port' => env('REDIS_PORT', '6379'),
        'database' => env('REDIS_DB', '0'),
    ],
    'cache' => [
        'url' => env('REDIS_URL'),
        'host' => env('REDIS_HOST', '127.0.0.1'),
        'password' => env('REDIS_PASSWORD', null),
        'port' => env('REDIS_PORT', '6379'),
        'database' => env('REDIS_CACHE_DB', '1'),
    ],
    'session' => [
        'host' => env('REDIS_HOST', '127.0.0.1'),
        'password' => env('REDIS_PASSWORD', null),
        'port' => env('REDIS_PORT', 6379),
        'database' => 2,
    ],
],

修改 .env

SESSION_DRIVER=redis
SESSION_CONNECTION=session

REDIS_CLIENT=predis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
最後修改日期: 2020 年 11 月 14 日