ホームページ  >  記事  >  バックエンド開発  >  PHPフレームワークCodeIgniterでRedisを使用する方法

PHPフレームワークCodeIgniterでRedisを使用する方法

不言
不言オリジナル
2018-04-14 11:13:231878ブラウズ

この記事では、PHP フレームワーク CodeIgniter での redis の使用方法を主に紹介します。必要な友人に参考にしてください。 この記事では、PHP フレームワーク 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 インタープリターの拡張子に配置します。mysql やその他のモジュールもここに配置されていることがわかります。次に、php.ini を開いて、;extension=php_bz2.dll,在其上面添加extension=php_redis.dll を見つけます。 つまり、拡張機能の構成領域の先頭に Redis 構成を追加します。インストールが完了しました。

③ 構成情報の表示

サーバーまたはコンピューターを再起動し、ビュー ページを追加します: phpinfo.php をindex.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.phpを作成します この構成ファイルは、フレームワークの 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ライブラリを使用する

// 框架的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. カスタム Redis クラス ライブラリを使用する

① Rediscli_default.php

カスタム Redis クラス ライブラリは system/libraries/Cache/drivers/Cache_redis.php からコピーでき、クラス名も Rediscli_default に変更されます。それ以外は、自分でメソッドを追加する必要はありません。 。 myApplication/libraries/Rediscli/drivers/ の下に配置します。

② Rediscli.php

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

の下にRediscli.phpを作成します

③ 電話

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

④ 時間

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

りー

これは保存された値です。3 番目のパラメータは省略できません。関数を見ると、このパラメータのデフォルト値は 60 秒であり、永続的なものではないため、このパラメータを省略できないことがわかります。

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

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

このコードの意味は、まず redis を使用してコードを保存し、見つからない場合はテキスト ストレージを使用することです。テキスト ファイルが myApplication/cache に保存されており、各キーに 1 つのテキストが含まれていることがわかります。

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

結局のところ、高速化のために Redis を使用する頻度は低い方が良いのです。

関連する推奨事項:

PHP フレームワークスリムのインストールと使用方法

php フレームワーク Yaf ルーティング書き換えサンプルコード

以上がPHPフレームワークCodeIgniterでRedisを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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