今回は、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('127.0.0.1',6379); //$redis->set('key10','xx10',20);//第三个参数是存续时间,单位是秒,如果不填则为永久 echo $redis->get('key10');
4. redis.php を myApplication/config:<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/**
* Created by PhpStorm.
* Date: 2017/2/9
* Time: 13:32
*/
$config['socket_type'] = 'tcp';
$config['host'] = '127.0.0.1';
$config['password'] = NULL;
$config['port'] = 6379;
$config['timeout'] = 0;
?>
の下に作成します redis ライブラリを使用するかどうかこの
は、以下のカスタム Redis ライブラリにも必要です。
redis.php の設定に加えて、使用するキャッシュ タイプも application/config/config.php で設定する必要があります。デフォルトは次のようになります:
$config['sess_driver'] = 'files'; $config['sess_cookie_name'] = 'ci_session'; $config['sess_expiration'] = 7200; $config['sess_save_path'] = NULL; $config['sess_match_ip'] = FALSE; $config['sess_time_to_update'] = 300; $config['sess_regenerate_destroy'] = FALSE;
redis を使用する場合は、次のように設定する必要があります。これ:
$config['sess_driver'] = 'redis'; $config['sess_cookie_name'] = 'ci_session'; $config['sess_expiration'] = 0; $config['sess_save_path'] = 'tcp://127.0.0.1:xxxx'; $config['sess_match_ip'] = FALSE; $config['sess_time_to_update'] = 600; $config['sess_regenerate_destroy'] = 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('cache'); $this->cache->redis->save('key11','xx11');//这里注意,第三个参数是时间,在自定义redis库会说明 echo $this->cache->redis->get('key11');下にRediscli.phpを作成します③
<?php defined ( 'BASEPATH' ) or exit ( 'No direct script access allowed' ); /** * 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 ( 'default' ); } }
を呼び出します④ 時間
Thisカスタム Redis ライブラリはフレームワーク ライブラリと同じであるため、ここではそれに焦点を当てます。// 自定义类,需要配置 $this->load->driver('rediscli'); if ($this->rediscli->default->is_supported()) { echo $this->rediscli->default->get('key2'); }これは保存された値です。3 番目のパラメータは省略できません。関数を見ると、このパラメータのデフォルト値は 60 秒であり、永続的なものではないため、このパラメータを省略できないことがわかります。 7. この状況に注意してください
$this->cache->redis->save('key11','xx11',1000);このコードの意味は、最初に Redis を使用して保存することです。見つからない場合は、テキスト ストレージを使用します。テキスト ファイルが myApplication/cache に保存されており、各キーに 1 つのテキストが含まれていることがわかります。
エラーは報告されないため、しばらくの間、このデータがどこに存在するかわからない可能性があります。
結局のところ、高速化のために Redis を使用するのはあまり頻繁ではありません。
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。
推奨読書:
以上がCodeIgniter が Redis を使用する手順の詳細を説明するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。