그누보드5(영카트5)용 redis 쿼리 캐시 플러그인 > 그누보드5 플러그인

그누보드5 플러그인

그누보드는 여러가지 기능을 추가하기 쉽도록 제작 되었습니다.
플러그인 다운로드시 좋아요와 감사의 코멘트를 남기시면 제작자에게 큰 힘이됩니다. ^^y

그누보드5(영카트5)용 redis 쿼리 캐시 플러그인 정보

그누보드5(영카트5)용 redis 쿼리 캐시 플러그인

첨부파일

첨부파일 redis_cache.zip (4.1K) 42회 다운로드 2017-11-10 17:04:48 포인트 차감1,000

본문

- redis 서비스를 이용하여 db 쿼리 캐시 플러그인입니다.

- 접속자가 많은 사이트나, 복잡한 쿼리를 많이 사용하는 사이트에서 성능을 향상시킬수 있는 솔루션입니다.

- 간단한 함수 사용만으로 사용할수 있습니다. 

 

1. 사전 내용

 - PHP 5.3 이상에서 테스트되었습니다. 5.2 이하 버전에선 오동작할수 있습니다.
 - 서버에 phpredis 가 설치되어 있어야 합니다. 
 - phpredis 설치방법은  http://blog.bongwork.com/archives/44 를 참조하세요.
 - common.php 파일에 redis 객체를 미리 생성하면, 접속시마다 생성하지 않음으로, 네트웍 리소스를 절약할수 있습니다.
   예제 
 try {
    $redis = new Redis();
    $redis->connect(REDIS_SERVER_IP, REDIS_SERVER_PORT, 5);
} catch( Exception $e) {
    echo $e->getMessage();
}

2. 디렉토리 구성 및 파일
 - /lib/RedisCache.class.php 메인 캐시용 클래스 
 - /extend/redis_cache_functions.php   쿼리 캐시 함수용 선언 함수파일
 - /redis_test.php  : 테스트용 php 파일
 - /README.txt

3. 설정방법
 - redis 서버가 로컬(127.0.0.1) 이 아닌 다른 서버에서 실행되는 경우 RedisCache.class.php 의 default_host와 default_port를 해당 서버정보로 변경해주세요.
 (보통 사용하지 않으나,  redis 서버의 auth 기능을 사용하고 있는 경우는 접속 코드에 auth 관련 코드를 추가해야 합니다.)

4. 사용방법
  - 압축을 푼 다음 RedisCache.class.php 와 redis_cache_functions.php 파일을 그누보드5(영카트5)의 lib와 extend 디렉토리로 업로드 합니다   - 첨부된 redis_test.php 를 작성하여 실행해봅니다. (관리자로 실행하면 디버깅 정보가 노출됩니다. 성능 확인가능)

5. 라이센스
  - GPL 을 따릅니다. 개인사이트 상업사이트에서 사용가능합니다.
  - 본인외에 타사이트에 위 소스를 게재할경우 사전 동의가 필요합니다.
  - 본 코드를 첨부한 솔루션을 판매하는 경우  따로 연락바랍니다.


 

추천9

댓글 전체

다운받아서 redis 는 서버에 설치했고 정보도 확인했습니다만...
redis-test.php 실행시키면 흰색 화면만 나오는군요
다르게 쿼리 실행시켜봐도 흰색 화면... 뭐가 문제일지 ㅠ_ㅠ
관리자로 로그인후에 실행하셔도 동일한가요? 뭔가 오류 메세지가 나올것 같은데요..
혹시 common.php 의 session.save_path를 수정 하셨나요? 만약 redis 를 session.save_path 에서 사용 안하실거면, php.ini 에서 session 관련 설정은 빼셔야 합니다.
네 관리자로 로그인해도 아무런 메세지가 나오지를 않네요

session.save_path 부분 2줄은 제외하고 php.ini 에
extension=/usr/lip64/php/modules/redis.so 만 입력했습니다.
파일 경로는 맞습니다 ^^;

에러라도 뜨면 뭔가 확인이라도 해볼텐데 아무런 메세지 없는
빈페이지만 뜨네요 소스보기해도 아무것도 없고...
하얀색이 나왔다면, 오류가 났을것 같네요.
일단 코드를 조금 수정하여 오류를 확인해봐야 할것 같습니다.

/lib/RedisCache.class.php 에 해당 코드 부분에
echo $e->getMessage(); 코르를 추가해주세요.

try {
                $this->add_debug_info("[" . __METHOD__ . "()] redis 서비스에 접속합니다.");
               
                $redis = new Redis();
                $redis->connect($this->default_host, $this->default_port, 5);
                $this->data_store = $redis;
                $this->use_redis = true;
            } catch (Exception $e) {
                echo $e->getMessage();
                $this->use_redis = false;
                $this->add_debug_info("[" . __METHOD__ . "()] ".$e->getMessage(). " redis 서버에 접속할수 없습니다.");
            }
- common.php 파일에 redis 객체를 미리 생성하면, 접속시마다 생성하지 않음으로, 네트웍 리소스를 절약할수 있습니다.
  예제
 try {
    $redis = new Redis();
    $redis->connect(REDIS_SERVER_IP, REDIS_SERVER_PORT, 5);
} catch( Exception $e) {
    echo $e->getMessage();
}
이부분을 어디쯤 넣어야 할까요?
전체 303
그누보드5 플러그인 내용 검색

회원로그인

진행중 포인트경매

  1. @멘션 알림 자동완성 + Ckeditor4 플러그인

    참여0 회 시작19.11.17 11:33 종료19.11.24 05:15
  2. CSS3 전환,검색, 정렬, 셔플링이 있는 갤러리 스킨

    참여0 회 시작19.11.16 21:51 종료19.11.23 21:51

(주)에스아이알소프트 (06253) 서울특별시 강남구 도곡로1길 14, 6층 624호 (역삼동, 삼일프라자) 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT