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

So verwenden Sie Redis im YII2-Projekt

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼Original
2019-12-09 10:28:223248Durchsuche

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"
Oder fügen Sie

"yiisoft/yii2-redis": "~2.0.0"

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 [
    //....
    'components' => [
        'redis' => [
            'class' => 'yii\redis\Connection',
            'hostname' => 'localhost',
            'port' => 6379,
            'database' => 0,
        ],
    ]
];

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 = 'username';
if ($val = $redis->get($key)) {
    return ['redis' => $val];
} else {
    $redis->set($key, 'Leon');
    $redis->expire($key, 5);
}
return ['redis' => 'no data'];

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:

'components' => [
    'cache' => [
        // 'class' => 'yii\caching\FileCache',
        'class' => 'yii\redis\Cache',
    ],
],

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

Der Beispielcode von

'components' => [
    'cache' => [
        // 'class' => 'yii\caching\FileCache',
        'class' => 'yii\redis\Cache',
        'redis' => [
            'hostname' => 'localhost',
            'port' => 6379,
            'database' => 0,
        ],
    ],
],

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

$cache = Yii::$app->cache;
$key = 'username';
if ($cache->exists($key)) {
    return ['cache' => $cache->get($key)];
} else {
    $cache->set($key, 'Leon', 5);
}
return ['cache' => 'no cache'];

Sitzung

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

'components' => [
    'session' => [
        'name' => 'advanced-frontend',
        'class' => 'yii\redis\Session'
    ],
],

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

'components' => [
    'session' => [
        'name' => 'advanced-frontend',
        'class' => 'yii\redis\Session',
        'redis' => [
            'hostname' => 'localhost',
            'port' => 6379,
            'database' => 0,
        ],
    ],
],

Der Beispielcode lautet wie folgt:

$session = Yii::$app->session;
$key = 'username';
if ($session->has($key)) {
    return ['session' => $session->get($key)];
} else {
    $session->set($key, 'Leon');
}
return ['session' => 'no session'];

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!

Stellungnahme:
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