ホームページ  >  記事  >  バックエンド開発  >  PHP フレームワーク CodeIgniter は Redis を使用してメソッドを説明します

PHP フレームワーク CodeIgniter は Redis を使用してメソッドを説明します

jacklove
jackloveオリジナル
2018-06-27 17:52:261923ブラウズ

この記事では、主に PHP フレームワーク CodeIgniter で redis を使用する方法を紹介し、サンプルの形で redis のインストールと設定、および CodeIgniter で redis を使用する際の関連操作スキルと注意事項を分析します。以下を参照してください

この記事の例では、PHP フレームワーク CodeIgniter が Redis を使用する方法について説明します。参考までに皆さんと共有します。詳細は次のとおりです。

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

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

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

#① ダウンロード

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

私が行った回り道について話させてください。私は 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.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 クラスを使用します。 library

① Rediscli_default.php

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

② Rediscli.php

myApplication/libraries/Rediscli/ の下に 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->load->driver(&#39;rediscli&#39;);
if ($this->rediscli->default->is_supported())
{
 echo $this->rediscli->default->get(&#39;key2&#39;);
}

④ 時間

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

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

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

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

// 文本存储
$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

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

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

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

#興味があるかもしれない記事:

PHP プログラミングで実装された TCP サーバーおよびクライアント機能の説明

PHP で州と都市の定期的なマッチングを実装する方法についての説明

#PHP クロージャー定義と簡単な例の php スキルの使用


#

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

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