Memcached 그누보드용 플러그인 정보
Memcached 그누보드용 플러그인첨부파일
본문
Memcache 또는 Memcached 가 동작되는 서버 환경이면
최신글 캐시를 Memcache 또는 Memcached 로 사용할수 있는 플러그인 입니다.
그누M 에 적용되어 있던 캐시라이브러리 자료를 그누보드5에서도 사용할수 있게 플러그인을 만들어 보았습니다.
이 게시물의 자료를 이용시
Memcache 또는 Memcached 가 동작되는 서버 환경이면, 최신글을 파일이 아닌 Memcache 또는 Memcached 에 저장됩니다.
사용방법은 이 게시물의 자료를 그대로 덮어쓰기 하면 되며 ( 그누보드 5.4.5.1 이상만 가능 )
/extend/memcached.extend.php 파일에서 4,5 번째줄에서 memcache 또는 memcached 코드로 수정해 주시면 됩니다.
// 캐시타입은 memcache 와 memcached 만 허용
if(! defined('G5_CACHE_HOOK_TYPE')) define('G5_CACHE_HOOK_TYPE', 'memcached');
또는 AWS의 EC2서버를 사용시 AWS의 엘라스틱캐시 memcached 서버에 캐시를 저장하고 싶다면
/plugin/cache_memcached/CacheCache/Backends/Memcached.php 파일에서
36번째줄 ~ 39번째줄 코드를 주석 처리 한 후에
/*
// $host = isset($options['host']) ? $options['host'] : 'localhost';
// $port = isset($options['port']) ? $options['port'] : 11211;
// $this->memcached = new \Memcached();
// $this->memcached->addServer($host, $port);
*/
아래 코드로 대체할시 AWS 의 엘라스틱캐시 memcached 서버에 저장할수 있습니다.
$server_endpoint = "AWS_elasticache서버주소.cache.amazonaws.com";
$server_port = 11211;
$this->memcached = new \Memcached('persistent-id');
$this->memcached->setOption(\Memcached::OPT_CLIENT_MODE, \Memcached::DYNAMIC_CLIENT_MODE);
$this->memcached->addServer($server_endpoint, $server_port);
!-->!-->
10
댓글 전체
안그래도 cache 기능을 끄고 쓰고 있어서 대체할 걸 찾고 있었는데 잘쓰겠습니다.
그렇지 않아도 캐싱에 관심이 많았는데 덕분에 잘 사용할게요~ ^-^
common.php 파일의 대략 209번째줄의
session_save_path(G5_SESSION_PATH);
코드를 아래코드와 같이 변경해 주시면 됩니다.
if(Class_exists('Memcached')){
@ini_set('session.save_handler', 'memcached');
@ini_set('session.save_path', '127.0.0.1:11211?persistent=1&weight=1&timeout=1&retry_interval=15');
} else if (Class_exists('Memcache')){
@ini_set('session.save_handler', 'memcache');
@ini_set('session.save_path', 'tcp://127.0.0.1:11211?persistent=1&weight=1&timeout=1&retry_interval=15');
} else {
session_save_path(G5_SESSION_PATH);
}
물론 서버에 memcached와 php-memcached 가 설치되어 있어야 합니다.
전 적용 못하겠네요
훌륭한 자료 감사합니다
우분트 20에 설치하는 방법 가르쳐주실분 계신가요? vultr 사용중입니다.