Представил
После компиляции, установки и установки расширений 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.