为什么在Redis容器中找不到我的Laravel会话密钥?

时间:2018-03-29 12:58:04

标签: laravel docker redis

我已经使用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。

我错过了什么?

0 个答案:

没有答案