В предишната статия за технологиите за кеширане обсъдих как да интегрирам Redis с Yii2 като кеш и манипулатор на сесия. В този блог ще демонстрирам как да използвам Memcached с Yii2.
Memcached е безплатна система за кеширане на разпределена памет с отворен код. Използва се главно за ускоряване на динамични уебсайтове, управлявани от база данни, чрез кеширане на данни за намаляване на времето за изпълнение и достъп. Cloudways идва с предварително инсталиран и активиран Memcached на сървърите на потребителите и аз ще го използвам в този урок.
Yii2 предоставя свой собствен клас Memcache, който работи както с Memcache, така и с Memcached. Нека започнем с този клас.
Свързано: Как да хоствате Yii 2 Framework в Cloudways с помощта на Composer
Добавяне на Memcache клас в Yii2
Отидете на конфигурация папка в основната папка на Yii2 и отворете web.php. Под компоненти добавете този ред:
'cache' => [ 'class' => 'yii\caching\MemCache', 'useMemcached' => true, >Като зададете useMemcached като вярно, Yii2 ще знае, че използвам Yii2 Memcached.
Използване на Memcached в Yii2
Тъй като вече добавих клас Yii2 Memcache, време е да добавите и запишете някои данни в Memcached. Отидете до контролерите папка в Yii2, създайте нов файл в нея и го наименувайте MemController.php. Поставете следния код в него.
namespace app\controllers;използвайте Yii;използвайте yii\web\Controller;class MemController разширява Controller{ публична функция actionIndex() { $cache =Yii::$app->cache; $key ='Mem'; $data =$cache->get($key); if ($data ===false) { $key ='Mem'; $data ='Моите първи Memcached данни'; $cache->set($key, $data); } ехо $data; }}След като запазите файла, стартирайте браузъра и го насочете към индекса на този контролер, като добавите ?r=mem/index . Резултатът ще бъде този ред:
![]()
Сега данните се записват в Memcached.
Обновете страницата още веднъж, за да може да се установи, че данните идват от Memcached, а не от друг(и) източник(и).
Нека сега да проверим данните и да проверим дали се осъществява достъп до Memcached.
![]()
![]()
![]()
![]()
![]()
![]()
Пригответе се за актуализация на основните уеб показатели
Електронна книга за ускоряване на вашия уебсайт, преди да започнете да губите трафик.
Благодаря Ви
Списъкът ви е на път към вашата входяща кутия.
Проверка на данни в Memcached
Има два начина, по които можете да проверите дали данните се записват в Memcached
1. Използване на конзолата:
Отворете конзолата си и въведете следната команда, за да направите връзка със сървъра Memcached:
telnet локален хост 11211
След като се свържете, ще получите следния екран:
![]()
Сега сме свързани със сървъра Memcached. Въведете следното, за да проверите дали вашият ключ съществува.
вземете Mem
Ако видите следния екран, значи стойността ви е добавена успешно в MemCached.
![]()
След това проверете попаденията в Memcached. Въведете следната команда:
статистика
Сега потърсете променлива get_hits . Ще намерите броя на посещенията, които Memcached е получил и върнатите данни.
![]()
2. На панела Cloudways
В Cloudways можете лесно да потърсите процента на попадане на Memcached, като отидете на сървъра и след това изберете Мониторинг от страничната лента.
![]()
В прозореца за наблюдение изберете Сървър и от падащото меню изберете Memcached Hit Rate. Ще се отвори графика на посещенията, получени от MemCached.
![]()
Ако не можете да видите процента на посещения, опитайте да го опресните, като щракнете върху Опресняване бутон.
Последни мисли
В този урок обсъдих как да използвате Memcached с Yii2 като кеш по подразбиране за вашия сайт. Ако имате въпрос или желаете да допринесете за дискусията, моля, оставете коментар по-долу.