>  기사  >  백엔드 개발  >  PHP 프레임워크 CodeIgniter는 redis를 사용하여 메소드를 설명합니다.

PHP 프레임워크 CodeIgniter는 redis를 사용하여 메소드를 설명합니다.

jacklove
jacklove원래의
2018-06-27 17:52:261919검색

이 글은 주로 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(&#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 라이브러리를 사용하든 아래의 사용자 정의 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. ① 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 ( &#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;
  );
 }
}

3에 Rediscli.php를 생성합니다.

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

4 Time

이 사용자 정의 Redis 라이브러리는 프레임워크 라이브러리와 동일하므로 여기서는 이에 중점을 두겠습니다.

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

저장된 값입니다. 세 번째 매개변수는 생략할 수 없는 시간입니다. 함수를 보면 이 매개변수의 기본값이 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에 저장되어 있으며 각 키에는 하나의 텍스트가 있습니다.

오류가 보고되지 않기 때문에 한동안 이 데이터가 어디에 있는지 모를 수도 있습니다.

이것을 아껴서 사용하세요. 결국 Redis는 더 빠른 속도를 위해 사용됩니다.

당신이 관심을 가질 만한 기사:

PHP 프로그래밍으로 구현된 TCP 서버 및 클라이언트 함수 예제에 대한 설명


PHP에서 지방과 도시의 정기적인 매칭을 간단하게 구현하는 방법에 대한 설명


PHP 폐쇄형 패키지 정의 및 사용법 간단한 예제 PHP 기술


위 내용은 PHP 프레임워크 CodeIgniter는 redis를 사용하여 메소드를 설명합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.