Maison  >  Article  >  développement back-end  >  Le framework PHP CodeIgniter utilise Redis pour expliquer la méthode

Le framework PHP CodeIgniter utilise Redis pour expliquer la méthode

jacklove
jackloveoriginal
2018-06-27 17:52:261890parcourir

Cet article présente principalement la méthode d'utilisation de redis dans le framework PHP CodeIgniter, et analyse l'installation et les paramètres de redis sous forme d'exemples, ainsi que les compétences opérationnelles associées et les précautions d'utilisation de redis dans CodeIgniter. Les amis dans le besoin peuvent le faire. référez-vous à lui

L'exemple de cet article décrit comment le framework PHP CodeIgniter utilise redis. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

1. Installez redis

Tout d'abord, le service redis ( redis) doit être installé sur l'ordinateur) et exécuté, voir un autre article pour plus de détails : //www.jb51.net/article/138173.htm

2 Installez phpredis

① Télécharger

Adresse du projet : https://github.com/phpredis/phpredis (vous pouvez l'ignorer), il est mentionné ici que la version Windows de PHPREDIS doit être compilée par vous-même, bien sûr. Nous ne pouvons pas être aussi imprudents.

Laissez-moi parler des détours que j'ai faits. Je l'ai téléchargé depuis http://windows.php.net/downloads/pecl/snaps/redis/20160319/ (vous pouvez l'ignorer), mais je continue. Je n'arrive pas à le faire fonctionner. D'accord, en fait, ce vc14 est la version 7.0 de PHP, et ce dont nous avons besoin, c'est de la version 7.1, donc cela a toujours été faux et je n'ai pas trouvé le problème jusqu'à ce que je trouve ceci :

http://pecl.php.net/ package-stats.php

Cliquez sur la version correspondante :

http://pecl.php.net/package/redis /3.1.1/windows

Téléchargez la version 7.1 correspondante.

② Installez

Mettez le

php_redis.dll téléchargé et décompressé dans l'ext de l'interpréteur php, et vous trouverez que mysql et autres les modules sont également placés ici, puis ouvrez php.ini, recherchez , ajoutez ;extension=php_bz2.dll dessus, extension=php_redis.dll

est le chef de la zone de configuration de l'extension, ajoutez la configuration redis. L'installation est terminée.

③ Afficher les informations de configuration

Redémarrez le serveur ou redémarrez l'ordinateur, ajoutez une page d'affichage : phpinfo.php sous le chemin d'index.php, ajoutez :

<?php
 echo phpinfo();
?>

Ensuite, visitez

http://yourdomain.com/phpinfo.php, vous pouvez voir les informations de configuration et vérifier si le redis la configuration est réussie S'il y a des informations, la configuration est terminée.

3. Utiliser Redis de manière native PHP

// 原生redis类库,不需要config/redis.php
$redis = new Redis();
$redis->connect(&#39;127.0.0.1&#39;,6379);
//$redis->set(&#39;key10&#39;,&#39;xx10&#39;,20);//第三个参数是存续时间,单位是秒,如果不填则为永久
echo $redis->get(&#39;key10&#39;);

4. Configurez redis.php

Créez le fichier redis.php sous myApplication/config :

<?php
defined(&#39;BASEPATH&#39;) OR exit(&#39;No direct script access allowed&#39;);
/**
 * Created by PhpStorm.
 * Date: 2017/2/9
 * Time: 13:32
 */
$config[&#39;socket_type&#39;] = &#39;tcp&#39;;
$config[&#39;host&#39;] = &#39;127.0.0.1&#39;;
$config[&#39;password&#39;] = NULL;
$config[&#39;port&#39;] = 6379;
$config[&#39;timeout&#39;] = 0;
?>

Ce fichier de configuration est requis que vous utilisiez la bibliothèque redis du framework ou la bibliothèque redis personnalisée ci-dessous.

En plus de configurer redis.php, le type de cache que nous utilisons doit également être configuré dans

application/config/config.php. La valeur par défaut est la suivante :

.

$config[&#39;sess_driver&#39;] = &#39;files&#39;;
$config[&#39;sess_cookie_name&#39;] = &#39;ci_session&#39;;
$config[&#39;sess_expiration&#39;] = 7200;
$config[&#39;sess_save_path&#39;] = NULL;
$config[&#39;sess_match_ip&#39;] = FALSE;
$config[&#39;sess_time_to_update&#39;] = 300;
$config[&#39;sess_regenerate_destroy&#39;] = FALSE;

Si nous utilisons Redis, alors il doit être configuré comme ceci :

$config[&#39;sess_driver&#39;] = &#39;redis&#39;;
$config[&#39;sess_cookie_name&#39;] = &#39;ci_session&#39;;
$config[&#39;sess_expiration&#39;] = 0;
$config[&#39;sess_save_path&#39;] = &#39;tcp://127.0.0.1:xxxx&#39;;
$config[&#39;sess_match_ip&#39;] = FALSE;
$config[&#39;sess_time_to_update&#39;] = 600;
$config[&#39;sess_regenerate_destroy&#39;] = TRUE;

5. Utilisez la bibliothèque redis du framework CI

// 框架的redis库
$this->load->driver(&#39;cache&#39;);
$this->cache->redis->save(&#39;key11&#39;,&#39;xx11&#39;);//这里注意,第三个参数是时间,在自定义redis库会说明
echo $this->cache->redis->get(&#39;key11&#39;);

6. Utiliser la bibliothèque de classes Redis personnalisée

① Rediscli_default.php

La bibliothèque de classes Redis personnalisée peut être copiée depuis system/libraries/Cache/drivers/ Cache_redis.php Une copie, renommez-la Rediscli_default.php, et le nom de la classe est également modifié en Rediscli_default. À part cela, aucune modification n'est nécessaire. Vous pouvez ajouter plus de méthodes vous-même. Placez-le sous myApplication/libraries/Rediscli/drivers/

② Rediscli.php

Créez un Rediscli.php sous myApplication/libraries/Rediscli/

<?php
defined ( &#39;BASEPATH&#39; ) or exit ( &#39;No direct script access allowed&#39; );
/**
 * Created by PhpStorm.
 * Date: 2017/2/9
 * Time: 20:00
 */
class Rediscli extends CI_Driver_Library {
 public $valid_drivers;
 public $CI;
 function __construct() {
  $this->CI = & get_instance ();
  $this->valid_drivers = array (
   &#39;default&#39;
  );
 }
}

③ Appel

// 自定义类,需要配置
$this->load->driver(&#39;rediscli&#39;);
if ($this->rediscli->default->is_supported())
{
 echo $this->rediscli->default->get(&#39;key2&#39;);
}

④ Heure

Cette bibliothèque Redis personnalisée est la même que la bibliothèque framework, alors concentrons-nous dessus ici.

$this->cache->redis->save(&#39;key11&#39;,&#39;xx11&#39;,1000);

C'est la valeur enregistrée. Le troisième paramètre est le temps, qui ne peut être omis. En regardant la fonction, vous pouvez voir que la valeur par défaut de ce paramètre est de 60 secondes, non permanente, ce paramètre ne peut donc pas être omis.

7. Faites attention à cette situation

// 文本存储
$this->load->driver(&#39;cache&#39;,array(&#39;adapter&#39;=>&#39;redis&#39;,&#39;backup&#39;=>&#39;file&#39;));
$this->cache->save(&#39;key5&#39;,&#39;xx5&#39;,10000);
echo $this->cache->get(&#39;key5&#39;);//xx5

Le sens de ceci le code est , utilisez d'abord redis pour stocker, s'il n'est pas trouvé, utilisez le stockage de texte. Vous constaterez que les fichiers texte sont stockés dans myApplication/cache et que chaque clé aura un texte.

Étant donné qu'aucune erreur n'est signalée, vous ne saurez peut-être pas où se trouvent ces données pendant un certain temps.

Il est préférable de l'utiliser moins souvent. Après tout, Redis est utilisé pour une vitesse plus rapide.

Articles qui pourraient vous intéresser :

Explication des fonctions serveur et client TCP implémentées par la programmation PHP

Explication sur la façon de mettre en œuvre simplement une correspondance régulière des provinces et des villes en PHP

Définition de fermeture PHP et utilisation d'exemples simples de compétences PHP

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