Может войдёшь?
Черновики Написать статью Профиль

Redis

перевод документация 4.x

  1. 1. Введение
  2. 2. Настройка
  3. 3. Использование
  4. 4. Конвейер

Введение

Redis — открытое продвинутое хранилище пар ключ/значение. Его часто называют сервисом структур данных, так как ключи могут содержать строки, хэши, списки, наборы и сортированные наборы.

Внимание: если у вас установлено расширение Redis через PECL, вам нужно переименовать псевдоним в файле app/config/app.php.

Настройка

Настройки вашего подключения к Redis хранятся в файле app/config/database.php. В нём вы найдёте массив redis, содержащий список серверов, используемых приложением:

PHP
'redis' => array(

  
'cluster' => true,

  
'default' => array('host' => '127.0.0.1''port' => 6379),

),

Значения по умолчанию должны подойти для разработки. Однако вы свободно можете менять этот массив в зависимости от своего окружения. Просто дайте имя каждому подключению к Redis и укажите серверные хост и порт.

Параметр cluster сообщает клиенту Redis Laravel, что нужно выполнить фрагментацию узлов Redis (client-side sharding), что позволит вам обращаться к ним и увеличить доступную RAM. Однако заметьте, что фрагментация не справляется с падениями, поэтому она в основном используется для кэшировании данных, которые доступны из основного источника.

Если ваш сервер Redis требует авторизацию, вы можете указать пароль, добавив к параметрам подключения пару ключ/значение password.

Использование

Вы можете получить экземпляр Redis методом PHPRedis::connection():

PHP
$redis Redis::connection();

Так вы получите экземпляр подключения по умолчанию. Если вы не используете фрагментацию, то можно передать этому методу имя сервера для получения конкретного подключения, как оно определено в файле настроек.

PHP
$redis Redis::connection('other');

Как только у вас есть экземпляр клиента Redis вы можете выполнить любую команду Redis. Laravel использует магические методы PHP для передачи команд на сервер:

PHP
$redis->set('name''Тейлор');

$name $redis->get('name');

$values $redis->lrange('names'510);

Как вы видите, параметры команд просто передаются магическому методу. Конечно, вам не обязательно использовать эти методы — вы можете передавать команды на сервер методом PHPcommand().

PHP
$values $redis->command('lrange', array(510));

Когда вы выполняете команды на подключении по умолчанию просто вызывайте соответствующие статические методы класса PHPRedis:

PHP
Redis::set('name''Тейлор');

$name Redis::get('name');

$values Redis::lrange('names'510);

Laravel поставляется с драйверами Redis для кэширования и сессий.

Конвейер

Конвейер должен использоваться, когда вы отправляете много команд на сервер за одну операцию. Для начала выполните команду PHPpipeline().

Отправка конвейером набора команд на сервер

PHP
Redis::pipeline(function ($pipe) {
  for (
$i 0$i 1000$i++) {
    
$pipe->set("key:$i"$i);
  }
});

Комментарии (1)

Aladin

Ошибка в описании, текст:
Внимание: если у вас установлено расширение Redis через PECL, вам нужно переименовать псевдоним в файле app/config/app.php.

И

Настройки вашего подключения к Redis хранятся в файле app/config/app.php

На самом деле настройки хранятся в файле app/config/database.php

Написать комментарий

Разметка: ? ?

Авторизуйся, чтобы прокомментировать.