내 할당 중 하나에서 캐싱에 redis를 사용하고 있습니다. 이 목적으로 CI 기본 redis 라이브러리를 사용하고 있습니다. 이제 라이브러리의 문제는 redis keys & 값을 설정, 가져 오기, 삭제, 증가 및 감소시키는 데 사용되는 특정 메소드 세트를 가지고 있다는 것입니다.코드 확장기 캐시 클래스 Redis 클래스
lpush, rpush, lrem, lrange 등과 같은 redis의 추가 기능이 필요합니다. 이렇게하려면 기본 CI redis 클래스를 확장하려고합니다. 어느 응용 프로그램/라이브러리/드라이버/cache_redis_extended.php에 넣어 오전. 이 클래스의 코드는 다음과 같습니다.
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Cache_redis_extended extends CI_Cache_redis
{
function __construct(){
parent::self;
}
public function rpush($list, $data)
{
$push = $this->_redis->multi(Redis::PIPELINE);
return $push->rpush($list, json_encode($data));
}
public function lrem($list, $data)
{
if((is_string($data) && (is_object(json_decode($data)) || is_array(json_decode($data))))) {
$data = $data;
}else{
json_encode($data);
}
return $this->_redis->lrem($list,-1, $data);
}
public function __destruct()
{
if ($this->_redis)
{
$this->_redis->close();
}
}
}
내 모델에서 내가
$CI->load->driver('cache', array('adapter' => 'redis'));
을 다음과 같이이 클래스를로드하지만 시스템이 나를
가 요청 된 클래스를로드 할 수 없습니다오류 보여줍니다
을 cache_redis_extended임의의 시간 elp는이 문제에 대해 높이 평가됩니다.