Maison  >  Article  >  développement back-end  >  Comment le framework Laravel utilise Redis

Comment le framework Laravel utilise Redis

不言
不言original
2018-05-31 15:50:273006parcourir

Cet article présente principalement la méthode d'utilisation de Redis dans le framework Laravel. Il analyse en détail la configuration de la base de données Redis, son utilisation et les précautions de fonctionnement associées dans le framework Laravel sous forme d'exemples. >

Les exemples de cet article décrivent comment le framework Laravel utilise Redis. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Installation

L'utilisation de redis dans laravel nécessite d'abord d'installer le predis /predis via Composer :

composer require predis/predis

Configuration

Le fichier de configuration de redis est : config/database.php

 'redis' => [
    'client' => 'predis',
    'default' => [
      'host' => env('REDIS_HOST', '127.0.0.1'),
      'password' => env('REDIS_PASSWORD',null),
      'port' => env('REDIS_PORT', 6379),
      'database' => 0,
    ],
  ],

Vous n'avez pas besoin de changer cela lorsque vous le testez.

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

Ce sont des informations pertinentes. En fait, vous n'avez pas besoin de les modifier. Ne parlons pas ici du problème du cluster Redis, mais parlons d'abord de l'utilisation d'un seul Redis.

Tests

Vous avez d'abord besoin d'un itinéraire :

//redis测试
Route::get('testRedis','RedisController@testRedis')->name('testRedis');

Utilisez la commande artisan pour créer un contrôleur

php artisan make:controller RedisController

Ensuite, nous introduisons la classe correspondante et créons une méthode dans le contrôleur.

Parce qu'après l'avoir installé via composer, le framework laravel nous a aidé à enregistrer et à prendre en charge redis dans le fichier de configuration app.php, afin que nous puissions l'utiliser directement. (La classe membre est un modèle de table de données que j'ai testé moi-même, alors ne vous en souciez pas)

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Member;
use Illuminate\Support\Facades\Redis;
class RedisController extends Controller
{
  public function testRedis()
  {
    Redis::set(&#39;name&#39;, &#39;guwenjie&#39;);
    $values = Redis::get(&#39;name&#39;);
    dd($values);
    //输出:"guwenjie"
    //加一个小例子比如网站首页某个人员或者某条新闻日访问量特别高,可以存储进redis,减轻内存压力
    $userinfo = Member::find(1200);
    Redis::set(&#39;user_key&#39;,$userinfo);
    if(Redis::exists(&#39;user_key&#39;)){
      $values = Redis::get(&#39;user_key&#39;);
    }else{
      $values = Member::find(1200);//此处为了测试你可以将id=1200改为另一个id
     }
    dump($values);
  }
}

Problème d'erreur

Lorsque vous effectuez les opérations ci-dessus et l'exécutez, vous pouvez obtenir cette erreur :

(1/1) ConnectionException
����Ŀ����������ܾ����޷����ӡ� [tcp://127.0.0.1:6379]
in AbstractConnection.php (line 155)
at AbstractConnection->onConnectionError(&#39;����Ŀ����������ܾ����޷����ӡ�&#39;, 10061)
in StreamConnection.php (line 128)
....
En fait, ce problème n'est pas un problème, mais de nombreuses personnes peuvent avoir des ennuis dès la première utilisation.

C'est parce que le service redis n'est pas installé et démarré sur votre serveur, tout comme mysql. La condition préalable à son utilisation est qu'il soit installé et démarré avec succès.

Je l'ai testé sous Windows, je vais donc parler de Windows. J'écrirai des articles sur Redis à l'avenir, y compris l'installation, le démarrage et l'utilisation de Linux, etc.

Téléchargez d'abord la version Windows : https://redis.io/download

Ou utilisez celle que j'ai téléchargée, la version est : 4.0.8

En fait, ce qui suit est également Ceci est un tutoriel sur la façon d'installer Redis sous Windows

Décompressez le package compressé que vous venez de télécharger, changez le nom en Redis (facultatif) et placez-le sur le lecteur C

Ouvrez la fenêtre cmd sous ce chemin et entrez directement

redis.exe

Le contenu suivant s'affiche pour indiquer une installation et un démarrage réussis. (Remarque : si vous souhaitez opérer à partir de la ligne de commande, vous devez ouvrir une autre fenêtre cmd, qui ne peut pas être fermée)

Si vous ne souhaitez pas accéder à ce répertoire pour démarrer à chaque fois, veuillez configurer le variables d'environnement.

Vous pouvez maintenant réexécuter la requête dans Laravel et elle fonctionnera normalement.

Recommandations associées :

Explication détaillée des cas d'utilisation de pjax dans le framework Laravel

Implémentation du framework Laravel pour l'analyse du code de la fonction de recherche

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn