config/database.php redis 新增一组配置

    1. <?php
    2. 'redis'=>[
    3. // ...
    4. 'session' => [
    5. 'url' => env('REDIS_URL'),
    6. 'host' => env('REDIS_HOST', '127.0.0.1'),
    7. 'password' => env('REDIS_PASSWORD', null),
    8. 'port' => env('REDIS_PORT', '6379'),
    9. 'database' => env('REDIS_CACHE_DB', '2'), // 存储数据库指定为db2
    10. ],
    11. ]

    .env 配置文件

    # redis
    REDIS_HOST=redis
    REDIS_PASSWORD=null # redis客户端配置有密码必须填密码
    REDIS_PORT=6379
    
    #session
    SESSION_DRIVER=redis
    SESSION_LIFETIME=120
    SESSION_CONNECTION=session  # 刚刚在database.php 新增的session项
    

    使用方法

    use Illuminate\Http\Request;
    
    public function index(Request $request) {
        $request->session()->put('name','php');
    }
    

    需要注意的一个坑:

    • 同一台电脑上在同一个浏览器上访问多次,该session每一次会被新session覆盖
    • 同一台电脑不同浏览器访问则可以在redis存储多个session