Heim > PHP-Framework > YII > So verwenden Sie Redis im YII2-Projekt

So verwenden Sie Redis im YII2-Projekt

爱喝马黛茶的安东尼
Freigeben: 2019-12-09 10:28:22
Original
3325 Leute haben es durchsucht

So verwenden Sie Redis im YII2-Projekt

Wenn Sie den Redis-Schlüsselwertspeicher gut im PHP-Framework Yii2 nutzen möchten, dann müssen Sie zunächst die offizielle Github-Bibliothek yii2-redis empfehlen. Diese Bibliothek kann uns bei der Verwendung von Redis im Yii2-Framework helfen. Sie bietet Unterstützung für Caching, Session und ActiveRecord.

Installieren Sie die yii2-redis-Bibliothek

Es wird empfohlen, Composer zu verwenden, um die yii2-redis-Bibliothek zu installieren und

php composer.phar require --prefer-dist yiisoft/yii2-redis:"~2.0.0"
Nach dem Login kopieren
< auszuführen im Stammverzeichnis Ihres Projekts 🎜> Oder fügen Sie

"yiisoft/yii2-redis": "~2.0.0"
Nach dem Login kopieren

zu Ihrer Composer.json-Datei hinzu und führen Sie dann Composer Update aus. Es ist wirklich langsam in der Wand, also warten Sie einfach geduldig.

Redis konfigurieren

Um diese Erweiterung korrekt zu verwenden, müssen Sie die Connection-Klasse in der Konfigurationsdatei Ihrer Anwendung konfigurieren, im Allgemeinen Zum Beispiel: Die Konfigurationsdatei ist configweb.php.

Fügen Sie das Redis-Projekt wie folgt zu Ihrer Komponente hinzu:

return [
    //....
    &#39;components&#39; => [
        &#39;redis&#39; => [
            &#39;class&#39; => &#39;yii\redis\Connection&#39;,
            &#39;hostname&#39; => &#39;localhost&#39;,
            &#39;port&#39; => 6379,
            &#39;database&#39; => 0,
        ],
    ]
];
Nach dem Login kopieren

Danach können Sie Redis normal im yii2-Framework verwenden.

Beispiel

Einfache Verwendung

Sehen wir uns zunächst die einfachste Möglichkeit an, Redis-Code zu verwenden :

$redis = Yii::$app->redis;
$key = &#39;username&#39;;
if ($val = $redis->get($key)) {
    return [&#39;redis&#39; => $val];
} else {
    $redis->set($key, &#39;Leon&#39;);
    $redis->expire($key, 5);
}
return [&#39;redis&#39; => &#39;no data&#39;];
Nach dem Login kopieren

Es gibt keine Kommentarzeile, aber es ist auf den ersten Blick klar, oder?

Suchen Sie nach dem Benutzernamenschlüssel. Wenn er nicht gefunden werden kann, legen Sie den Schlüsselwertspeicher fest und stellen Sie die Ablaufzeit auf 5 Sekunden ein.

Dies ist ein vollständiges Beispiel für die Verwendung von Redis.

Cache

Als nächstes werfen wir einen Blick darauf, wie man Redis zum Caching verwendet.

In ähnlicher Weise müssen wir für das Caching die Cache-Elemente in der Konfigurationsdatei ändern:

&#39;components&#39; => [
    &#39;cache&#39; => [
        // &#39;class&#39; => &#39;yii\caching\FileCache&#39;,
        &#39;class&#39; => &#39;yii\redis\Cache&#39;,
    ],
],
Nach dem Login kopieren

Wenn Sie die Redis-Komponente nicht konfiguriert haben, müssen Sie Redis auch unter dem Cache konfigurieren:

Der Beispielcode von

&#39;components&#39; => [
    &#39;cache&#39; => [
        // &#39;class&#39; => &#39;yii\caching\FileCache&#39;,
        &#39;class&#39; => &#39;yii\redis\Cache&#39;,
        &#39;redis&#39; => [
            &#39;hostname&#39; => &#39;localhost&#39;,
            &#39;port&#39; => 6379,
            &#39;database&#39; => 0,
        ],
    ],
],
Nach dem Login kopieren

lautet wie folgt, was leicht zu verstehen ist und nicht zu viel erklärt werden muss:

$cache = Yii::$app->cache;
$key = &#39;username&#39;;
if ($cache->exists($key)) {
    return [&#39;cache&#39; => $cache->get($key)];
} else {
    $cache->set($key, &#39;Leon&#39;, 5);
}
return [&#39;cache&#39; => &#39;no cache&#39;];
Nach dem Login kopieren

Sitzung

Endlich , Redis wird als Sitzung verwendet. Es muss auch in der Komponente konfiguriert werden:

&#39;components&#39; => [
    &#39;session&#39; => [
        &#39;name&#39; => &#39;advanced-frontend&#39;,
        &#39;class&#39; => &#39;yii\redis\Session&#39;
    ],
],
Nach dem Login kopieren

Wenn Redis nicht konfiguriert wurde, muss es auch konfiguriert werden:

&#39;components&#39; => [
    &#39;session&#39; => [
        &#39;name&#39; => &#39;advanced-frontend&#39;,
        &#39;class&#39; => &#39;yii\redis\Session&#39;,
        &#39;redis&#39; => [
            &#39;hostname&#39; => &#39;localhost&#39;,
            &#39;port&#39; => 6379,
            &#39;database&#39; => 0,
        ],
    ],
],
Nach dem Login kopieren

Der Beispielcode lautet wie folgt:

$session = Yii::$app->session;
$key = &#39;username&#39;;
if ($session->has($key)) {
    return [&#39;session&#39; => $session->get($key)];
} else {
    $session->set($key, &#39;Leon&#39;);
}
return [&#39;session&#39; => &#39;no session&#39;];
Nach dem Login kopieren
In einer einfachen Demonstration, wie man Redis, ein effizientes Tool, richtig nutzt, werden die Fähigkeiten jedes Einzelnen auf die Probe gestellt. Aufleuchten!

PHP-Website für Chinesisch, es gibt viele kostenlose

Yii-Einführungs-Tutorials, jeder ist willkommen, es zu lernen!

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Redis im YII2-Projekt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage