Ми використовуємо cookie-файли
Для оптимізації роботи нашого сайту ми використовуємо cookie-файли. Продовжуючи використовувати сайт, Ви погоджуєтеся з використанням cookie-файлів.
Новий дизайн
Панель керування
  • Русский
  • Українська
  • English
  • UAH
  • USD
  • RUB
  • EUR
  • 0-800-307-307 Гаряча лінія
  • +38 (044) 392-74-33 Київ
  • +38 (057) 728-39-00 Харків
  • +38 (056) 794-38-31 Дніпро
  • +38 (032) 229-58-93 Львів
  • +38 (048) 738-57-70 Одеса
  • +38(093) 170-15-42  Life
  • +38 (067) 400-88-44 Київстар
  • +1(888)393-24-51  USA, Toll free
  • +44(131)507-01-14  Great Britain
  • +7 (499) 348-28-61 Москва

2.14.2.6. Налаштування Redis в Laravel

Важливі моменти:

  • Підключатися до Redis на хостингу можна тільки через Unix-сокет.
  • На хостингу за замовчуванням є PECL розширення PhpRedis. Встановлювати додаткові клієнти не потрібно.
  • В інструкції описаний загальний спосіб настройки Redis. Він може не підходити для сайтів, де вносилися зміни в функціоналі роботи з Redis.

Для налаштування Redis в Laravel виконайте наступне:

  1. Відредагуйте файл .env, Розташований в кореневому каталозі проекту:
    • Знайдіть блок конфігурації Redis:
      REDIS_HOST=127.0.0.1
      REDIS_PASSWORD=null
      REDIS_PORT=6379
    • Замініть рядка на наступні:
      REDIS_HOST=/home/example/.system/redis.sock
      REDIS_DB=0
      REDIS_CACHE_DB=1
      REDIS_PREFIX=doepref_
    • У рядку з параметром REDIS_HOST замість example вкажіть назва хостинг-аккаунта, В якому розміщений сайт.
    • В параметрах REDIS_DB і REDIS_CACHE_DB вкажіть унікальний ідентифікатор бази даних Redis.
    • У параметрі REDIS_PREFIX вкажіть необхідний префікс.
  2. Відредагуйте файл database.php, Розташований в каталозі config/:
    • Знайдіть у файлі код підключення до Redis, він буде починатися з 'redis' => [. Налагодження підключення повинна виглядати приблизно так:
           'redis' => [
       
              'client' => env('REDIS_CLIENT', 'phpredis'),
       
              'options' => [
                  'cluster' => env('REDIS_CLUSTER', 'redis'),
                  'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
              ],
       
              'default' => [
                  'host'     => env('REDIS_HOST'),
                  'password' => env('REDIS_PASSWORD'),
                  'port'     => env('REDIS_PORT'),
                  'database' => env('REDIS_DB', 0),
              ],
       
              'cache' => [
                  'host'     => env('REDIS_HOST'),
                  'password' => env('REDIS_PASSWORD'),
                  'port'     => env('REDIS_PORT'),
                  'database' => env('REDIS_CACHE_DB', 1),
              ],
       
          ],
  3. Перевірте роботу Redis. Для тесту необхідно відредагувати файл web.php, Розташований в каталозі routes/, Додавши в нього наступний код:
    Route::get('redis-test', function (){
    if(!Redis::get('test_time')){
    Redis::set('test_time', date(DATE_RFC822));
    }
    return "Date inserted in database: ".Redis::get('test_time');
    });

    Відкрийте ваш проект за посиланням http://example.com/redis-test, Де замість example.com вкажіть назву вашого домену. Після переходу має виводиться час першого звернення до цим посиланням.

Увага!

Ідентифікатор бази даних Redis повинен бути унікальним для всіх CMS і для різних видів кешування, щоб не було помилок з перетином даних різних служб.