Представил
После компиляции, установки и установки расширений Redis готов к нормальному использованию. Но в laravel необходимы другие операции .
Расширение для установки
Чтобы использовать Redis в laravel, вам необходимо установить его p
redis
Развернуть. Используйте composer требуется предис/предис
Просто установите его.
Изменить конфигурацию
- Redis настроен в
config/база данных.
php
Документы, в соответствии с необходимостью изменения, мне не нужно изменять здесь; - Установите кэш по умолчанию в кэш Redis, в
.evn
В файлеCACHE_DRIVER=redis
; - Установите драйвер сеанса в Redis, в
.env
В файлеSESSION_DRIVER=redis
;
Настройка нескольких библиотек
После приведенной выше конфигурации несколько служб используют Redis, что явно неразумно, если все они используют одну и ту же библиотеку. Мы можем настроить несколько подключений для решения этой проблемы. Redis по умолчанию имеет 16 библиотек, установленных на сервере redis.conf
Из базы данных
Значения могут быть изменены. Давайте сначала посмотрим на это. config/database.php
Подключение по умолчанию
'redis' => [ 'client' => 'predis', 'default' => [ 'host' => env('REDIS_HOST', '127.0.0.1'), 'password' => env('REDIS_PASSWORD', null), 'port' => env('REDIS_PORT', 6379), 'database' => env('REDIS_DB', 0), ], 'cache' => [ 'host' => env('REDIS_HOST', '127.0.0.1'), 'password' => env('REDIS_PASSWORD', null), 'port' => env('REDIS_PORT', 6379), 'database' => env('REDIS_CACHE_DB', 1), ], ],
По умолчанию существует два соединения. по умолчанию
и кэш
. Теперь давайте посмотрим на это. config/cache.php
Конфигурация Redis
'redis' => [ 'driver' => 'redis', 'connection' => 'cache', ],
Вы можете это видеть. подключение
Значение равно кэш
, то есть используйте config/database.php
Средний Redis кэш
。 Изменить ниже config/database.php
Редактирует, добавляет подключение к сеансу следующим образом
'redis' => [ 'client' => 'predis', 'default' => [ 'host' => env('REDIS_HOST', '127.0.0.1'), 'password' => env('REDIS_PASSWORD', null), 'port' => env('REDIS_PORT', 6379), 'database' => env('REDIS_DB', 0), ], 'cache' => [ 'host' => env('REDIS_HOST', '127.0.0.1'), 'password' => env('REDIS_PASSWORD', null), 'port' => env('REDIS_PORT', 6379), 'database' => env('REDIS_CACHE_DB', 1), ], 'session' => [ 'host' => env('REDIS_HOST', '127.0.0.1'), 'password' => env('REDIS_PASSWORD', null), 'port' => env('REDIS_PORT', 6379), 'database' => env('REDIS_SESSION_DB', 2), ], ],
Далее .env
Добавить в SESSION_CONNECTION=сеанс
。
тест
После описанной выше операции он был изменен. Подводя итог, это по умолчанию
Использование 0 библиотек, кэш
Использование 1 библиотеки, сеанс
Используются две библиотеки. Используйте следующий код для тестирования
/** * Testing Redis storage */ public function testRedis() { // Redis facade Redis::setex('facades', 30, 'i am facades'); // Cache Cache::put('cache', 'i am cache', now()->addMinute(30)); // Because Cache defaults to Redis, all are the same as the above statement // Cache::store('redis')->put('cache', now(), now()->addMinute(30)); }
После запуска приведенного выше кода используйте его на сервере redis-cli
Давайте посмотрим на хранилище.
Вы можете увидеть, как хранится каждое хранилище.
- Используйте операцию фасада Redis, по умолчанию
config/database.php
Средний Redisпо умолчанию
Подключение и хранение данных в библиотеке 0. - Используйте кэш, потому что
config/cache.php
Средний Redisподключение
Установлено вкэш
Конечно, это библиотека. - Сеанс также основан на
SESSION_CONNECTION=сеансе
Конфигурации, правильно сохраненной в 2 библиотеках;
При использовании фасадов Redis вы также можете указать подключения
$redis = Redis::connection('session'); $redis->setex('facades_connection', 30, 'i am facades_connection');
Ссылка: документ Laravel Redis.