>  기사  >  백엔드 개발  >  PHP 프레임워크 CodeIgniter에서 Redis를 사용하는 방법

PHP 프레임워크 CodeIgniter에서 Redis를 사용하는 방법

不言
不言원래의
2018-04-14 11:13:231901검색

이 글은 주로 PHP 프레임워크 CodeIgniter에서 redis를 사용하는 방법을 소개합니다. 이제 필요한 친구들이 참고할 수 있도록 공유하겠습니다. 이 기사의 예에서는 PHP 프레임워크 CodeIgniter가 redis를 사용하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.

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

2.phpredis를 설치하세요

① 다운로드

프로젝트 주소: https://github.com/phpredis/phpredis (무시해도 됩니다) 여기서는 Windows 버전의 phpredis를 직접 컴파일해야 한다고 언급합니다.

제가 겪은 우회로에 대해 이야기하겠습니다. 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 인터프리터의 확장 부분에 배치합니다. 그런 다음 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.php 파일을 만듭니다. 이 구성 파일은 프레임워크의 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

사용자 정의 redis 클래스 라이브러리는 system/libraries/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를 생성합니다.

③ 전화

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

4 시간

이 사용자 정의 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 프레임워크 Yaf 라우팅 재작성 예제 코드

위 내용은 PHP 프레임워크 CodeIgniter에서 Redis를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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