Ответ 1
Введение
Вот моя заметка, для какого-то другого парня, который работает с этой проблемой, я думаю, что это должно быть в документах.
По умолчанию redis дает вам 16 отдельных баз данных, но laravel из коробки будет пытаться использовать базу данных 0 для сеансов и кеша.
Наше решение состоит в том, чтобы позволить кэшированию Redis с использованием базы данных 0 и базы данных 1 для сеанса, чтобы решить проблему сеанса, выполнив задачу php artisan cache:clear
.
Примечание: проверено на Laravel 5.1
1. Настройка соединения сеанса Redis
Измените config/database.php
, добавьте ключ session
к опции redis
:
'redis' => [
'cluster' => false,
'default' => [
'host' => env('REDIS_HOST', 'localhost'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 0,
],
'session' => [
'host' => env('REDIS_HOST', 'localhost'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 1,
],
],
2. Используйте соединение session
Измените config/session.php
, измените следующее:
'connection' => null,
в
'connection' => 'session',
3. Использование Redis в качестве драйвера сеанса
Измените .env
, измените SESSION_DRIVER
:
SESSION_DRIVER=redis
4. Тестирование
Выполните следующую команду artisan, затем проверьте свое состояние входа:
php artisan cache:clear
Если состояние входа сохраняется, voilà!