我已经使用docker设置了我的Laravel应用程序,一个容器专用于redis的应用程序。
我已将Laravel设置为使用Redis进行会话缓存。
一切正常但如果我输入我的Redis容器并尝试列出所有键,如:
$redis-cli
#KEYS *
它将仅返回用于缓存的键值而非会话键。
以上是双重检查,因为实际上从Laravel应用程序我设置会话密钥然后像
一样转储 <?php dump(session()->all()); dump(Session::getDefaultDriver()); ?>
从转储中看起来一切都很好。 我看到了会话密钥和值数据结构。 Session :: getDefaultDriver()//返回“redis”
因此,通过查看redis容器中的Cache key:值,我假设没有连接/ docker容器问题...... Laravel正在写入正确的位置。 Redis默认连接由Cache和SEssion共享。
在database.php中我有:
'redis' => [
'client' => 'predis',
'default' => [
'host' => env('REDIS_HOST', 'redis'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 0,
],
],
在session.php中我有
'driver' => env('SESSION_DRIVER', 'redis'),
...
'lifetime' => env('SESSION_LIFETIME', 120),
通过在Laravel Web应用程序中看到转储返回正确的值,我假设会话正常工作并指向redis。
我错过了什么?