[그누보드] SIR 메인처럼 24시간 인기 게시물 통합 (캐쉬 활용 예제 마지막)

author : 유창화 (yoo chang hwa) 
version : 1.0.2 
regist : 2012-12-30 
modify : 2013-01-01 
comment : PHP 확장 라이브러리, PHP5 이상, UTF-8 전용 
lisence : 상업적, 비상업적 사용 제한 없음, 배포, 수정 제한 없음, 단, 교육(강좌), 출판에는 동의 없이 사용할수 없음 

db schema 

//캐쉬 
CREATE TABLE IF NOT EXISTS `ex_cache` ( 
  `cache_subject` varchar(50) NOT NULL, 
  `cache_position` varchar(30) NOT NULL, 
  `cache_seriaize` longtext NOT NULL, 
  `cache_time` int(11) NOT NULL, 
  PRIMARY KEY (`cache_subject`,`cache_position`), 
  KEY `cache_position` (`cache_position`), 
  KEY `cache_time` (`cache_time`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8; 



### 설치 방법 ### 
압축을 풀어서 ftp로 올립니다. 
기존에 동일한 디렉토리, 파일이 있다면 덮어 씌웁니다. 

디비에 아래 테이블을 추가합니다. 

CREATE TABLE IF NOT EXISTS `ex_cache` ( 
  `cache_subject` varchar(50) NOT NULL, 
  `cache_position` varchar(30) NOT NULL, 
  `cache_seriaize` longtext NOT NULL, 
  `cache_time` int(11) NOT NULL, 
  PRIMARY KEY (`cache_subject`,`cache_position`), 
  KEY `cache_position` (`cache_position`), 
  KEY `cache_time` (`cache_time`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8; 

기존에 있다면, 그대로 놔두면 됩니다. 



### 적용방법 ### 
같이 첨부된 sample.php 를 참고 하시면 됩니다.


_EX::get_cache($check_time, $cache_subject, $cache_position) 활용법 

캐쉬를 한페이지내에 아래와 같이 
_EX::save_cache('s1', 'main', $cache_data1); 
_EX::save_cache('s2', 'main', $cache_data2); 
_EX::save_cache('s3', 'main', $cache_data3); 
_EX::save_cache('s4', 'main', $cache_data4); 
_EX::save_cache('s5', 'main', $cache_data5); 
만들었다면 

캐시를 불러올때 개별적으로 불러오면 모두 내부적으로 5번의 쿼리를 날리게 됩니다. 

$cache_data1 = _EX::get_cache(600, 's1', 'main'); 
$cache_data2 = _EX::get_cache(600, 's2', 'main'); 
$cache_data3 = _EX::get_cache(600, 's3', 'main'); 
$cache_data4 = _EX::get_cache(600, 's4', 'main'); 
$cache_data5 = _EX::get_cache(600, 's5', 'main'); 

그러나..... 

$cache = _EX::get_cache(600, '', 'main'); 
와 같이 사용한다면, 한번의 쿼리로 5개의 캐쉬 데이타를 모두 가져옵니다.

새싹2단계 M곰돌이 2014.07.22 15:56:17
감사합니다^^
처음 1 2 3 4 다음 맨끝
글쓰기