>  기사  >  백엔드 개발  >  CodeIgniter는 자세히 설명된 Redis 단계를 사용합니다.

CodeIgniter는 자세히 설명된 Redis 단계를 사용합니다.

php中世界最好的语言
php中世界最好的语言원래의
2018-05-16 16:06:572169검색

이번에는 CodeIgniter와 함께 Redis를 사용하는 단계에 대해 자세히 설명하겠습니다. CodeIgniter와 함께 Redis를 사용하는 경우 주의사항은 무엇인가요?

1. redis 설치

먼저 redis 서비스(redis 데이터베이스)가 컴퓨터에 설치되어 실행되어야 합니다. 자세한 내용은 다른 문서를 참조하세요: http://www.jb51.net/article /138173.htm

2. phpredis

1 다운로드

프로젝트 주소: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 아래에 redis.php 파일을 만듭니다.

<?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. 사용자 정의 redis 클래스 라이브러리를 사용하세요

① Rediscli_default.php

system/에서 다운로드할 수 있습니다. library/Cache/drivers/Cache_redis.php의 이름을 Rediscli_default.php로 변경합니다. 클래스 이름도 Rediscli_default로 변경됩니다. 그렇지 않으면 직접 변경할 필요가 없습니다. . 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;
  );
 }
}

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

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

4 Time

This 사용자 정의 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 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 도서:

PHP 클로저 실무 사례 사용 분석

PHP는 정규 표현식을 사용하여 지방 및 도시와 일치시킵니다.

위 내용은 CodeIgniter는 자세히 설명된 Redis 단계를 사용합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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