ホームページ >バックエンド開発 >PHPチュートリアル >PHPフレームワークCodeIgniterでRedisを使用する方法
この記事では、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('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.phpを作成します この構成ファイルは、フレームワークの 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ライブラリを使用する
// 框架的redis库
$this->load->driver('cache');
$this->cache->redis->save('key11','xx11');//这里注意,第三个参数是时间,在自定义redis库会说明
echo $this->cache->redis->get('key11');
6. カスタム Redis クラス ライブラリを使用する
① Rediscli_default.php
カスタム Redis クラス ライブラリは system/libraries/Cache/drivers/Cache_redis.php からコピーでき、クラス名も Rediscli_default に変更されます。それ以外は、自分でメソッドを追加する必要はありません。 。 myApplication/libraries/Rediscli/drivers/ の下に配置します。
② Rediscli.phpmyApplication/libraries/Rediscli/
<?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' ); } }
の下にRediscli.phpを作成します
③ 電話// 自定义类,需要配置
$this->load->driver('rediscli');
if ($this->rediscli->default->is_supported())
{
echo $this->rediscli->default->get('key2');
}
④ 時間
このカスタム Redis ライブラリはフレームワーク ライブラリと同じであるため、ここではそれに焦点を当てます。
りーこれは保存された値です。3 番目のパラメータは省略できません。関数を見ると、このパラメータのデフォルト値は 60 秒であり、永続的なものではないため、このパラメータを省略できないことがわかります。
7. この状況に注意してください
$this->cache->redis->save('key11','xx11',1000);
このコードの意味は、まず redis を使用してコードを保存し、見つからない場合はテキスト ストレージを使用することです。テキスト ファイルが myApplication/cache に保存されており、各キーに 1 つのテキストが含まれていることがわかります。
エラーは報告されないため、しばらくの間、このデータがどこに存在するかわからない可能性があります。
結局のところ、高速化のために Redis を使用する頻度は低い方が良いのです。
関連する推奨事項:
PHP フレームワークスリムのインストールと使用方法php フレームワーク Yaf ルーティング書き換えサンプルコード
以上がPHPフレームワークCodeIgniterでRedisを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。