Heim  >  Artikel  >  Backend-Entwicklung  >  Das PHP-Framework CodeIgniter verwendet Redis, um die Methode zu erklären

Das PHP-Framework CodeIgniter verwendet Redis, um die Methode zu erklären

jacklove
jackloveOriginal
2018-06-27 17:52:261924Durchsuche

In diesem Artikel wird hauptsächlich die Methode zur Verwendung von Redis im PHP-Framework CodeIgniter vorgestellt und die Installation und Einstellungen von Redis anhand von Beispielen sowie die damit verbundenen Bedienkenntnisse und Vorsichtsmaßnahmen für die Verwendung von Redis in CodeIgniter analysiert siehe es

Das Beispiel in diesem Artikel beschreibt, wie das PHP-Framework CodeIgniter Redis verwendet. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

1. Installieren Sie Redis

Zuallererst der Redis-Dienst ( Die Redis-Datenbank muss auf dem Computer installiert und ausgeführt werden. Weitere Informationen finden Sie in einem anderen Artikel: //www.jb51.net/article/138173.htm

2. Installieren Sie phpredis

① Herunterladen

Projektadresse: https://github.com/phpredis/phpredis (Sie können dies ignorieren), das wird hier erwähnt Die Windows-Version von phpredis muss natürlich selbst kompiliert werden. Wir können nicht so rücksichtslos sein.

Lassen Sie mich über die Umwege sprechen, die ich unternommen habe. Ich habe es von http://windows.php.net/downloads/pecl/snaps/redis/20160319/ heruntergeladen (Sie können das ignorieren), aber ich habe es trotzdem Ich kann es nicht zum Laufen bringen. Okay, eigentlich ist dieser vc14 Version 7.0 von PHP, und was wir brauchen, ist Version 7.1, also war es immer falsch und ich konnte das Problem nicht finden, bis ich Folgendes gefunden habe:

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

Klicken Sie auf die entsprechende Version:

http://pecl.php.net/package/redis/3.1 .1/Windows

Laden Sie die entsprechende Version 7.1 herunter.

② Installieren Sie

Fügen Sie die heruntergeladene und dekomprimierte php_redis.dll in die Ext des PHP-Interpreters ein, und Sie werden MySQL und andere finden Hier werden auch Module platziert. Öffnen Sie dann php.ini, suchen Sie ;extension=php_bz2.dll, fügen Sie extension=php_redis.dll hinzu.

ist der Kopf des Erweiterungskonfigurationsbereichs und fügen Sie die Redis-Konfiguration hinzu. Die Installation ist abgeschlossen.

③ Konfigurationsinformationen anzeigen

Starten Sie den Server neu oder starten Sie den Computer neu, fügen Sie eine Ansichtsseite hinzu: phpinfo.php unter dem Pfad von index.php, fügen Sie hinzu:

<?php
 echo phpinfo();
?>

Besuchen Sie dann http://yourdomain.com/phpinfo.php, um die Konfigurationsinformationen anzuzeigen und nach Informationen darüber zu suchen, ob eine Redis-Konfiguration vorliegt erfolgreich, wenn ja, ist die Konfiguration abgeschlossen.

3. Redis nativ in PHP betreiben

// 原生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. Konfigurieren Sie redis.php

Erstellen Sie die Datei redis.php unter 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;
?>

Nein egal Diese Konfigurationsdatei ist erforderlich, unabhängig davon, ob Sie die Redis-Bibliothek des Frameworks oder die folgende benutzerdefinierte Redis-Bibliothek verwenden.

Zusätzlich zur Konfiguration von redis.php muss der von uns verwendete Cache-Typ auch in

application/config/config.php konfiguriert werden. Die Standardeinstellung lautet wie folgt:

$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;

Wenn wir Redis verwenden, dann konfigurieren Sie es wie folgt:

$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 , unter Verwendung der Redis-Bibliothek des CI-Frameworks

// 框架的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. Verwendung einer benutzerdefinierten Redis-Klassenbibliothek

① Rediscli_default.php

Die benutzerdefinierte Redis-Klassenbibliothek kann aus system/libraries/Cache/drivers/Cache_redis.php kopiert und in Rediscli_default umbenannt werden. php wird auch der Klassenname in Rediscli_default geändert, es sind keine weiteren Änderungen erforderlich, Sie können selbst weitere Methoden hinzufügen. Platzieren Sie es unter myApplication/libraries/Rediscli/drivers/

② Rediscli.php

Erstellen Sie eine Rediscli.php unter 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;
  );
 }
}

③ Anruf

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

④ Zeit

Diese benutzerdefinierte Redis-Bibliothek ist mit der Framework-Bibliothek identisch, daher werden wir uns hier darauf konzentrieren.

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

Dies ist der gespeicherte Wert. Der dritte Parameter ist die Zeit, die nicht weggelassen werden kann. Wenn Sie sich die Funktion ansehen, können Sie erkennen, dass der Standardwert dieses Parameters 60 Sekunden beträgt und nicht dauerhaft ist. Daher kann dieser Parameter nicht weggelassen werden.

7. Achten Sie auf diese 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

Die Bedeutung dieses Codes ist , Verwenden Sie zunächst Redis zum Speichern. Wenn nicht gefunden, verwenden Sie Textspeicher. Sie werden feststellen, dass Textdateien in myApplication/cache gespeichert sind und jeder Schlüssel einen Text enthält.

Da kein Fehler gemeldet wird, wissen Sie möglicherweise eine Zeit lang nicht, wo diese Daten vorhanden sind.

Es ist besser, dies seltener zu verwenden. Schließlich wird Redis für eine schnellere Geschwindigkeit verwendet.

Artikel, die Sie interessieren könnten:

Erklärung der durch PHP-Programmierung implementierten TCP-Server- und Clientfunktionen

Erklärung, wie man den regelmäßigen Abgleich von Provinzen und Städten einfach in PHP implementiert

PHP-Abschlussdefinition und Verwendung einfacher Beispiel-PHP-Kenntnisse

Das obige ist der detaillierte Inhalt vonDas PHP-Framework CodeIgniter verwendet Redis, um die Methode zu erklären. 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