테스트 사이트 - 개발 중인 베타 버전입니다

Memcached 그누보드용 플러그인

product-page-diagram_ElastiCache_memcached_how-it-works.cd490b0e711a3019e7bfc230408b95e97e221fa7.png

Memcache 또는 Memcached 가 동작되는 서버 환경이면

 

최신글 캐시를 Memcache 또는 Memcached 로 사용할수 있는 플러그인 입니다.

 

그누M 에 적용되어 있던 캐시라이브러리 자료를 그누보드5에서도 사용할수 있게 플러그인을 만들어 보았습니다.

 

이 게시물의 자료를 이용시

 

Memcache 또는 Memcached 가 동작되는 서버 환경이면, 최신글을 파일이 아닌 Memcache 또는 Memcached 에 저장됩니다.

 

사용방법은 이 게시물의 자료를 그대로 덮어쓰기 하면 되며 ( 그누보드 5.4.5.1 이상만 가능 )

 

/extend/memcached.extend.php 파일에서 4,5 번째줄에서 memcache 또는 memcached 코드로 수정해 주시면 됩니다.

 

[code]

// 캐시타입은 memcache 와 memcached 만 허용
if(! defined('G5_CACHE_HOOK_TYPE')) define('G5_CACHE_HOOK_TYPE', 'memcached');

[/code]

 

 

또는 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 서버에 저장할수 있습니다.

 

[code]

$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);

[/code]

 

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 13개

우와~ 감사합니다.
안그래도 cache 기능을 끄고 쓰고 있어서 대체할 걸 찾고 있었는데 잘쓰겠습니다.
오오~ 정말 감사합니다!
그렇지 않아도 캐싱에 관심이 많았는데 덕분에 잘 사용할게요~ ^-^
이거쓰면 세션도 여따 넣어서 쓸수있는건가여
세션을 memcached 에 저장하고 쓰려면

common.php 파일의 대략 209번째줄의

session_save_path(G5_SESSION_PATH);

코드를 아래코드와 같이 변경해 주시면 됩니다.

[code]
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);
}
[/code]

물론 서버에 memcached와 php-memcached 가 설치되어 있어야 합니다.
오!! 갓thisgun님!! 스릉함돠~
이제 서버는 AWS로 가는 군요.. 하여간 감사합니다.
좋은 정보 감사합니다.
Lightsail에서 홈서버로 지난 달 델꾸 왔는데..
전 적용 못하겠네요

훌륭한 자료 감사합니다
좋은 정보 감사합니다
memcached와 php-memcached 가 설치 하는 방법을 검색중인데 잘 모르겠습니다.

우분트 20에 설치하는 방법 가르쳐주실분 계신가요? vultr 사용중입니다.

게시판 목록

그누보드5 플러그인

그누보드 호환이거나 독립적으로 실행되는 플러그인을 소개합니다.
글쓰기
🐛 버그신고