欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

关于Laravel Session使用自定义Driver的问题

程序员文章站 2024-01-23 08:30:04
...
我现在准备用Redis来替代原来的file-based session存储。
但是我跟着配置完之后laravel还是把session存储在文件里面.
//这个文件是存放在app\Extensions目录下的.
get($sessionId);
        return Redis::get($sessionId);
    }

    public function write($sessionId, $data) {
        //$redis = Redis::connection('default');
        //$redis->set($sessionId, $data);
        Redis::set($sessionId, $data);
    }

    public function destroy($sessionId) {
        //$redis = Redis::connection('default');
        //$redis->command('del', $sessionId);
        Redis::command('del', $sessionId);
    }

    public function gc($lifetime) {
        //
    }
}
//然后这个文件是写在app\Providers目录下的

我在app\config\app.php里面加入了自己写的App\Providers\SessionServiceProvider::class,进去。
还有替换了app\config\session.php里面的'driver' => env('SESSION_DRIVER', 'redis'),

调用的时候应该直接$request->session()->set($sessionId, $data)就能够存储到Redis里边的吧?

回复内容:

我现在准备用Redis来替代原来的file-based session存储。
但是我跟着配置完之后laravel还是把session存储在文件里面.

//这个文件是存放在app\Extensions目录下的.
get($sessionId);
        return Redis::get($sessionId);
    }

    public function write($sessionId, $data) {
        //$redis = Redis::connection('default');
        //$redis->set($sessionId, $data);
        Redis::set($sessionId, $data);
    }

    public function destroy($sessionId) {
        //$redis = Redis::connection('default');
        //$redis->command('del', $sessionId);
        Redis::command('del', $sessionId);
    }

    public function gc($lifetime) {
        //
    }
}
//然后这个文件是写在app\Providers目录下的

我在app\config\app.php里面加入了自己写的App\Providers\SessionServiceProvider::class,进去。
还有替换了app\config\session.php里面的'driver' => env('SESSION_DRIVER', 'redis'),

调用的时候应该直接$request->session()->set($sessionId, $data)就能够存储到Redis里边的吧?

题主应该没有更新.env里面关于session的配置,请修改.env以下项:

SESSION_DRIVER=redis
相关标签: laravel php