ホームページ  >  記事  >  バックエンド開発  >  CodeIgniter が Redis を使用する手順の詳細を説明する

CodeIgniter が Redis を使用する手順の詳細を説明する

php中世界最好的语言
php中世界最好的语言オリジナル
2018-05-16 16:06:572215ブラウズ

今回は、CodeIgniter で redis を使用するための手順について詳しく説明します。CodeIgniter で redis を使用する場合の 注意事項 について、実際の事例を見てみましょう。

1. redis をインストールします

まず、redis サービス (redis データベース) がコンピューターにインストールされ、実行されている必要があります。詳細については、別の記事を参照してください: http://www.jb51.net/article /138173.htm

2. phpredis をインストールします

① ダウンロード

プロジェクトアドレス:https://github.com/phpredis/phpredis (これは無視して構いません)、ここに記載されていますphpredis の Windows バージョンでは自分でコンパイルする必要があります。もちろん、それほど無謀なことはできません。

私が行った回り道についてお話しましょう。http://windows.php.net/downloads/pecl/snaps/redis/20160319/ からダウンロードしましたが (これは無視して構いません)、一度もダウンロードできませんでした。実際、この vc14 は PHP の 7.0 バージョンですが、必要なのは 7.1 バージョンなので、これが見つかるまで問題を見つけることができませんでした:

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

対応するバージョンをクリックします:

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

7.1に対応するバージョンをダウンロードします。

② インストール

ダウンロードして解凍したphp_redis.dllをphpインタプリタのextに置き、mysqlやその他のモジュールもここに配置されていることがわかります。その後、php.iniを開いて;extension=php_bz2.dll,在其上面添加extension=php_redis.dll

を見つけます。つまり、拡張機能の構成領域の先頭に、redis 構成を追加します。インストールが完了しました。

③ 構成情報を確認します

サーバーを再起動するか、コンピューターを再起動し、index.phpのパス: phpinfo.phpにビューページを追加し、:

<?php
 echo phpinfo();
?>

を追加して、http://にアクセスしますyourdomain.com /phpinfo.php にアクセスすると、構成情報が表示され、redis 構成が成功したことを示す情報があれば、構成は完了です。

3. PHP ネイティブ方法で redis を操作する

// 原生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. redis.php を 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;
?>
の下に作成します redis ライブラリを使用するかどうかこの

設定ファイル

は、以下のカスタム Redis ライブラリにも必要です。

redis.php の設定に加えて、使用するキャッシュ タイプも application/config/config.php で設定する必要があります。デフォルトは次のようになります:

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

redis を使用する場合は、次のように設定する必要があります。これ:

$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. CI フレームワークの Redis ライブラリを使用します

6. カスタム Redis クラス ライブラリを使用します

① Rediscli_default.php

system/からダウンロードします/libraries/Cache/drivers/Cache_redis.php を作成し、名前を Rediscli_default.php に変更します。それ以外は変更する必要はありません。自分自身でメソッドを作成します。 myApplication/libraries/Rediscli/drivers/

下に配置します② Rediscli.php

myApplication/libraries/Rediscli/

// 框架的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;);
下にRediscli.phpを作成します③

<?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;
  );
 }
}

を呼び出します④ 時間

Thisカスタム Redis ライブラリはフレームワーク ライブラリと同じであるため、ここではそれに焦点を当てます。

// 自定义类,需要配置
$this->load->driver(&#39;rediscli&#39;);
if ($this->rediscli->default->is_supported())
{
 echo $this->rediscli->default->get(&#39;key2&#39;);
}
これは保存された値です。3 番目のパラメータは省略できません。関数を見ると、このパラメータのデフォルト値は 60 秒であり、永続的なものではないため、このパラメータを省略できないことがわかります。

7. この状況に注意してください

$this->cache->redis->save(&#39;key11&#39;,&#39;xx11&#39;,1000);
このコードの意味は、最初に Redis を使用して保存することです。見つからない場合は、テキスト ストレージを使用します。テキスト ファイルが myApplication/cache に保存されており、各キーに 1 つのテキストが含まれていることがわかります。

エラーは報告されないため、しばらくの間、このデータがどこに存在するかわからない可能性があります。

結局のところ、高速化のために Redis を使用するのはあまり頻繁ではありません。

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

PHP クロージャの実際的な使用例の分析

PHP は正規表現を使用して州と都市を照合します

以上がCodeIgniter が Redis を使用する手順の詳細を説明するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。