이 글은 주로 PHP 프레임워크 CodeIgniter에서 Redis를 사용하는 방법을 소개하고, Redis의 설치 및 설정을 예제 형식으로 분석하고, CodeIgniter에서 Redis를 사용하기 위한 관련 조작 기술 및 주의사항을 참고할 수 있습니다. it
이 문서의 예제에서는 PHP를 설명합니다. CodeIgniter 프레임워크는 redis 메서드를 사용합니다. 참고하실 수 있도록 자세한 내용은 다음과 같습니다.
1. Redis 설치
먼저 컴퓨터에 redis 서비스(redis 데이터베이스)가 설치되어 실행되고 있어야 합니다. 다른 글: //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 구성을 추가합니다. 설치가 완료되었습니다.
3 구성 정보를 확인하세요
서버를 다시 시작하거나 컴퓨터를 다시 시작하고 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 라이브러리를 사용합니다.
// 框架的redis库 $this->load->driver('cache'); $this->cache->redis->save('key11','xx11');//这里注意,第三个参数是时间,在自定义redis库会说明 echo $this->cache->redis->get('key11');
6. ① Rediscli_default.php
사용자 정의 redis 클래스 라이브러리는 system/libraries/Cache/drivers/Cache_redis.php에서 복사하여 Rediscli_default.php로 이름을 바꿀 수 있습니다. 그 외에는 변경할 필요가 없습니다. 여러 가지 방법으로 업데이트를 직접 추가할 수 있습니다. myApplication/libraries/Rediscli/drivers/
에 배치합니다. ② Rediscli.php
myApplication/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' ); } }
3에 Rediscli.php를 생성합니다.
// 自定义类,需要配置 $this->load->driver('rediscli'); if ($this->rediscli->default->is_supported()) { echo $this->rediscli->default->get('key2'); }를 호출합니다.
4 Time
이 사용자 정의 Redis 라이브러리는 프레임워크 라이브러리와 동일하므로 여기서는 이에 중점을 두겠습니다.
$this->cache->redis->save('key11','xx11',1000);저장된 값입니다. 세 번째 매개변수는 생략할 수 없는 시간입니다. 함수를 보면 이 매개변수의 기본값이 60초이며, 영구적이지 않으므로 이 매개변수를 생략할 수 없음을 알 수 있습니다. 7. 이 상황에 주의하세요
// 文本存储 $this->load->driver('cache',array('adapter'=>'redis','backup'=>'file')); $this->cache->save('key5','xx5',10000); echo $this->cache->get('key5');//xx5이 코드의 의미는 먼저 Redis를 사용하여 저장하고, 찾을 수 없으면 텍스트 저장소를 사용한다는 것입니다. 텍스트 파일은 myApplication/cache에 저장되어 있으며 각 키에는 하나의 텍스트가 있습니다. 오류가 보고되지 않기 때문에 한동안 이 데이터가 어디에 있는지 모를 수도 있습니다. 이것을 아껴서 사용하세요. 결국 Redis는 더 빠른 속도를 위해 사용됩니다. 당신이 관심을 가질 만한 기사:
PHP에서 지방과 도시의 정기적인 매칭을 간단하게 구현하는 방법에 대한 설명
PHP 폐쇄형 패키지 정의 및 사용법 간단한 예제 PHP 기술
위 내용은 PHP 프레임워크 CodeIgniter는 redis를 사용하여 메소드를 설명합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!