В предишната си статия за Yii2 обсъдих как да инсталирам и използвам elasticsearch с Yii. В друга статия демонстрирах възможностите на рамката Yii2 чрез просто приложение за задачи. Днес ще демонстрирам как да използвам Redis като кеш и манипулатор на сесия за Yii2. В предишните си статии за Redis обсъждах използването на Redis като кеш с персонализирани PHP сайтове и Redis за управление на сесиите на PHP.
За да инсталирате Redis на Cloudways, прегледайте статията ми, свързана по-горе.
Стъпка 1:Инсталиране на разширението Redis на Yii 2
Отворете вашия composer.json файл и добавете следния ред в секция изискване :
"yiisoft/yii2-redis":"~2.0.0"
Сега в конзолата изпълнете следната команда, за да инсталирате разширението
актуализация на композитора
След като композиторът завърши инсталацията, отворете Yii2 в браузъра. Отворете лентата за отстраняване на грешки в Yii и намерете инсталираните разширения. Ще намерите yii2-redis в списъка.
Това означава, че Redis е инсталиран успешно и е готов за употреба.
Стъпка 2:Свързване на Redis с Yii2
След това свържете приложението Yii2 с Redis. Насочете се към конфигуриране папка и отворете web.php. Добавете следните редове в компонентите раздел.
'redis' => ['class' => 'yii \ redis \ connection', 'hostname' => 'localhost', 'port' => 6379, 'база данни' => 0,], 'сесия' => [ 'class' => 'yii\redis\Session', ], 'cache' => [ 'class' => 'yii\redis\Cache', pres. >След като сте готови, запазете файла. Време е да използвате разширението като манипулатор на сесията.
Стъпка 3:Използване на Redis като манипулатор на сесия с Yii2
Сега отворете вашата папка контролери и добавете нов контролер в него. Нека го наречем RedisController.php. Сега отворете файла и поставете следния код в него.
сесия->setFlash('contactFormSubmitted'); $a =Yii::$app->session->getFlash('contactFormSubmitted'); ехо $a; }}Сега стартирайте този контролер в браузъра и ще видите изображението по-долу, след като вашата сесия бъде създадена.
Сега нека проверим дали тази сесия е добавена към кеша на redis . Отворете SSH терминала и въведете следната команда, за да отворите redis cli.
redis-cliВ командния ред въведете следната команда, за да проверите дали е добавен нов ключ:
клавиши *Ако намерите буквено-цифров ключ в микс, този ключ е сесионният ключ. Това показва, че сесията на Redis работи правилно.
Нека оставим този прозорец на конзолата отворен, за да проверим ключа за кеш паметта по-късно.
Стъпка 4:Използване на Redis като манипулатор на кеша с Yii2
Сега отворете контролера, който беше създаден по-рано, и добавете тази нова функция в него.
публична функция actionCaches() { $cache =Yii::$app->cache; $key ='нов'; $data =$cache->get($key); if ($data ===false) { $key ='нов'; $data ='Ново добавен кеш'; $cache->set($key, $data); } ехо $data; }Нека изпълним това действие в браузъра. Ще получите „Добавен нов кеш“ като изход. Нека проверим дали е запазен в Redis или не. Превключете към конзолата, която е останала отворена, и въведете следната команда:
клавиши *Ще намерите своя нов кеш ключ заедно с ключа на сесията, който беше генериран по-рано.
Резюме:
Както можете да видите, че е лесно да се използва Redis с Yii2. просто инсталирате разширението и свързвате Yii2 с него. След това можете да използвате разширението като манипулатор на сесия и кеш за вашето приложение. Ето пълния списък с теми, обхванати в тази серия на Yii2. Ако трябва да зададете въпрос относно тази статия, моля, оставете коментар.