我現在準備用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