Maison > développement back-end > tutoriel php > CodeIgniter utilise les étapes Redis expliquées en détail

CodeIgniter utilise les étapes Redis expliquées en détail

php中世界最好的语言
Libérer: 2023-03-26 07:00:02
original
2248 Les gens l'ont consulté

Cette fois, je vous apporte une explication détaillée des étapes d'utilisation de redis avec CodeIgniter Quelles sont les précautions pour utiliser redis avec CodeIgniter. Voici des cas réels, jetons un coup d'œil.

1. Installer redis

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

2. Installer 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 a besoin être compilé par vous-même, bien sûr, nous ne pouvons pas. Si imprudent.

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 ;extension=php_bz2.dll, ajoutez extension=php_redis.dll dessus,

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 sous le chemin d'index.php : phpinfo. php, dans Ajouter :

<?php
 echo phpinfo();
?>
Copier après la connexion

, puis visitez http://yourdomain.com/phpinfo.php Vous pouvez voir les informations de configuration et rechercher des informations sur la configuration réussie de Redis. Si tel est le cas, 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;);
Copier après la connexion

4. Configurer 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;
?>
Copier après la connexion

Que vous utilisiez la bibliothèque redis du framework ou la bibliothèque redis personnalisée suivante, vous en avez besoin Fichier de configuration.

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;
Copier après la connexion
.

Si nous utilisons redis, alors la configuration devrait être similaire à 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;
Copier après la connexion

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;);
Copier après la connexion

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

① Rediscli_default.php

Redis personnalisé bibliothèque de classes Vous pouvez copier une copie de system/libraries/Cache/drivers/Cache_redis.php et la renommer en Rediscli_default.php. Le nom de la classe est également modifié en Rediscli_default. Sinon, vous n'avez pas besoin de modifier. toi-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;
  );
 }
}
Copier après la connexion

③Appel

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

④ Heure

Cette bibliothèque Redis personnalisée est la même que la bibliothèque framework, concentrons-nous sur l'explication ici.

$this->cache->redis->save(&#39;key11&#39;,&#39;xx11&#39;,1000);
Copier après la connexion
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
Copier après la connexion
La signification de ce code est d'utiliser redis pour le stocker en premier. n'est pas trouvé, utilisez simplement 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.

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Analyse de cas réels d'utilisation de la fermeture PHP

PHP utilise des expressions régulières pour faire correspondre les provinces et les villes

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal