Heim >Backend-Entwicklung >PHP-Tutorial >So verwenden Sie Redis im PHP-Framework CodeIgniter

So verwenden Sie Redis im PHP-Framework CodeIgniter

不言
不言Original
2018-04-14 11:13:231935Durchsuche

Dieser Artikel stellt hauptsächlich die Methode zur Verwendung von Redis im PHP-Framework CodeIgniter vor. Jetzt kann ich ihn mit Ihnen teilen

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. Redis installieren

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

2. Installieren Sie phpredis

① Herunterladen

Projektadresse: https://github.com/phpredis/phpredis (Sie können dies ignorieren). Hier wird erwähnt, dass die Windows-Version von phpredis selbst kompiliert werden muss.

Lassen Sie mich über die Umwege sprechen, die ich gemacht habe. Ich habe es von http://windows.php.net/downloads/pecl/snaps/redis/20160319/ heruntergeladen (Sie können das ignorieren), aber ich konnte es nie reparieren Tatsächlich handelt es sich bei diesem vc14 um die 7.0-Version von PHP. Wir benötigen also die 7.1-Version, daher ist sie immer falsch und wir können das Problem erst finden, wenn wir Folgendes finden:

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 Version herunter, die 7.1 entspricht.

② Installation

Platzieren Sie die heruntergeladene und dekomprimierte php_redis.dll im Ext des PHP-Interpreters. Sie werden feststellen, dass hier auch MySQL und andere Module platziert sind, suchen Sie ;extension=php_bz2.dll und fügen Sie , extension=php_redis.dll

Das heißt, fügen Sie die Redis-Konfiguration oben im Konfigurationsbereich der Erweiterung 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 und fügen Sie darin hinzu:

<?php
 echo phpinfo();
?>

Besuchen Sie dann

http://yourdomain.com/phpinfo.php, Sie können die Konfigurationsinformationen sehen und nach Informationen suchen, die auf eine erfolgreiche Redis-Konfiguration hinweisen. Wenn ja, ist die Konfiguration abgeschlossen.

3. Betreiben Sie Redis auf PHP-native Weise

// 原生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;
?>

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

Zusätzlich zur Konfiguration von redis.php müssen Sie auch

konfigurieren Der von uns verwendete Cache-Typ ist in application/config/config.php konfiguriert. 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, müssen wir es wie folgt konfigurieren:

$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. 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. Benutzerdefinierte Redis-Klassenbibliothek verwenden

① Rediscli_default.php

Die benutzerdefinierte Redis-Klassenbibliothek kann aus system/libraries/Cache/drivers/Cache_redis.php kopiert und in Rediscli_default.php umbenannt werden. Ansonsten sind keine Änderungen erforderlich . 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;
  );
 }
}

③ Rufen Sie

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

an

④ Zeit

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

$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 besteht darin, ihn zuerst mit Redis zu speichern und Textspeicher zu verwenden, wenn er nicht gefunden wird. 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 sich diese Daten befinden.

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

Verwandte Empfehlungen:

So installieren und verwenden Sie PHP Framework Slim

Beispielcode für das Umschreiben des PHP-Frameworks Yaf Routing


Das obige ist der detaillierte Inhalt vonSo verwenden Sie Redis im PHP-Framework CodeIgniter. 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