В предишната статия за технологиите за кеширане обсъдих как да интегрирам 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 като кеш по подразбиране за вашия сайт. Ако имате въпрос или желаете да допринесете за дискусията, моля, оставете коментар по-долу.