lang/php

CI 2.6 에서 redis 캐시드라이브

C/H 2017. 3. 20. 08:30

Require

PHP Redis Extension 이 설치 되어 있어야 한다. centos php-fpm session.save_handler redis setting

캐시드라이버 설치 및 redis 드라이브 키 등록

  • github.com > CodeIgniter/system/libraries/Cache/drivers/Cache_redis.php
  • CI3 Redis 캐시드라이브를 CI2의 system/libraries/Cache/drivers/ 폴더에 추가한다.
  • system/libraries/Cache/Cache.php Redis를 추가한다.
  • class CI_Cache extends CI_Driver_Library {
    
    	protected $valid_drivers 	= array(
    		'cache_apc', 'cache_file', 'cache_memcached', 'cache_dummy', 'cache_redis'
    	);
    
        ...
    }
    

설정 & 기능사용

application/config/redis.php 파일을 등록 후 Redis 정보를 설정한다.

$config['socket_type'] = 'tcp'; //`tcp` or `unix`
$config['socket'] = '/var/run/redis.sock'; // in case of `unix` socket type
$config['host'] = '127.0.0.1';
$config['password'] = NULL;
$config['port'] = 6379;
$config['timeout'] = 0;

/*
제공되는 기능으로는  database, prefix 등의 기능을 사용할 수 없다.
딱 이대로 사용해야 한다.
hostname.com/?auth=password&database=15&prefix=prefix 형태는 사용할 수 없다.
*/
//$this->load->driver('cache');
$driver = 'dummy';
if( ENVIRONMENT=='production' ) {
    $driver = 'redis';
}

$this->load->driver('cache', ['adapter' => $driver, 'backup' => 'dummy']);
if( $driver != 'dummy' && ! $this->cache->is_supported($driver) ) {
    show_error( 'Do not support cache : '.$driver );
}

$this->cache->save('foo', 'bar', 10);


반응형

'lang > php' 카테고리의 다른 글

Rinvex Country - PHP  (0) 2017.05.24
Requests for PHP  (0) 2017.05.23
PHP 병렬처리  (0) 2017.03.17
centos php-fpm session.save_handler redis setting  (0) 2017.03.02
Centos7 Nginx+php7+php-fpm  (0) 2017.02.21