메뉴 건너뛰기

라이온하트 2nd edition

홈페이지를 새롭게 리뉴얼합니다.

OS
2014.08.16 11:06

memcached 설치 및 설정

조회 수 109513 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

memcache는 php를 사용할때 대용량 서비스를 위하여 메모리상에 캐쉬를 저장해두고 이를 php코드상에서 사용할 수 있도록 해주는 extension이다

 

pecl.php.net에 등록되어 있는걸로 봐서는 아마도 많이 쓰는 듯하다.

 

이를 호스팅 서버에 적용하기 위해 시도했던 방법들을 정리하여 본다.

 

memcache는 크게 4가지 작업이 필요하다.

 

1. php 컴파일 ==> memcache 추가

2. memcached 데몬 설치

3. php.ini 추가

4. 소스 코드 변경

 

가장 애매한 부분이 1번이다. pecl을 사용할 경우에 한번에 되면 좋지만 그렇지가 않다.

 

1. php 컴파일

 

호스팅 서버에 적용하기 위해서 memcache를 pecl로설치하려고 해보았으나 라이브러리 버전이 맞지 않아 정상적으로 동작하지 않았다. 할 수 없이 php 소스코드에 포함하여 같이 컴파일 하는 방식으로 처리하였다.

 다음과 같은 방식으로 처리가 가능하다

 

1) php 소스 함축 해제 

 --> 최신 소스를 php.net에서 다운 받아서 압축해제

2) memcache 소스 다운로드

--> pecl.php.net에 가면 다운받을 수 있다.

3) memcache 소스 복사

--> memcache소스를 다운받아 압축을 해제하면 memcache-2.4.5가 생기는데 이걸

php소스의 디렉토리 하위의 ext 디렉토리에 memcache로 복사

4) configure 재성성

--> memcacache를 같이 컴파일 하기 위해서 기존 configure 파일 삭제

--> php 디렉토리에 보면 buildconf 파일이 있다.   ./buildconf --force를 실행하면  memcache를 포함하여 컴파일 할 수 있는 configure 파일이 생성됨

--> buildconf 실행시 configure 파일을 삭제하지 않고 실행하면 오류가 나면서 buildconf가 실행되지 않는다==> 주의

5) configure 실행

--> ./configure --prefix=/usr/local/php --with-mysql --with-pgsql --with-iconv --enable-sockets --enable-memcacahe ==> 입맛에 많게 옵션 조정

--> enable-memcache는 buildconf를 이용하여 configure를 생성해야만 추가가 가능함, default 옵션이 아님

 

2. memcached 데몬 설치

- php 컴파일과는 달리 memcached는 설치가 쉽다. 다음과 같이 설치가 가능하다.

1) memcached 다운로드

--> 구글에서 지원하고 있는 모양이다. http://code.google.com/p/memcached/downloads/list 에서 다운로드 가능하다.

2) 압축해제

--> tar xvzf memcached-1.4.5.tar.gz

--> cd memcached-1.4.5

3) configure 실행

--> ./configure --prefix=/usr/local/memcached --enable-64bit ==> 64bit 서버일 경우

4) compile

--> make ; make install

5) 실행

--> prefix에서 설정한 /usr/local/memcached로 가보면 bin, include, share가 생성됨

--> bin디렉토리에서 memcache를 다음과 같이 실행하면 작동 완료

./memcached -vv -d -m 500 -u root -p 11211

--> 위에서 옵션들은 memcached -h를 하면 상세히 볼 수 있다..

 

3. php.ini 추가

- 마지막 부분에 다음 내용 추가

[memcache]

extension=memcache.so
memcache.allow_failover = 1
memcache.max_failover_attempts=20
memcache.chunk_size =8192
memcache.default_port = 11211

 

4. 소스코드 예제

<?

$memcache = new Memcache;

 

//memcached데몬에 연결

$memcache->connect('localhost', 11211) or die ("Could not connect");

 

//버전을 구함

$version = $memcache->getVersion();

 

$list=array('1','2','3');

 

//memcache 설정

//3600은 초단위를 의미 ==> 1시간

$memcache->set('key', $list, false, 3600) or die ("Failed to save data at the server");

 

//'key'로 정의된 값을 구함

$ tmparr= $memcache->get('key');

 

print_r($tmparr);


 

?>

[출처] memcached 설치 및 설정|작성자



List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
105 C# MySQL to CSV && csv to mysql 3 LionHeart 2015.10.03 149030
104 Android Unity 타임 함수 badung007 2015.08.08 79063
103 금융개발 [링크] 수정주가와 갭 보정 LionHeart 2015.08.06 55353
102 Android Unity 코루틴 명령어 badung007 2015.08.06 84828
101 OS csv를 MySQL로 삽입 LionHeart 2015.07.27 63857
100 C# C#, Candle Stick 차트 (dotnet 4.5 framework) LionHeart 2015.07.06 107558
99 C# 표준편차 1 LionHeart 2015.07.01 74135
98 C# C#, JSON 이용 LionHeart 2015.06.25 120978
97 C# C#에서 SFTP 구현 LionHeart 2015.06.10 116244
96 OS sulinux APM 설치 (link) LionHeart 2015.06.03 85983
95 C# [링크] 키보드 잠그기 (후킹) LionHeart 2015.05.07 110149
94 C# 표준편차 (볼린저밴드 구현을 위한) LionHeart 2015.04.29 260494
93 Android Unity CameraReSize badung007 2015.04.10 75638
92 C# [스크랩] C# 2.0 에서 DataGridview 로 멀티스레드 검색 LionHeart 2015.04.09 113044
91 OS MySQL 5.1.73의 Windows 및 Linux의 속도비교 1 file LionHeart 2015.03.05 70268
90 C# C# XML 쓰고 읽기 LionHeart 2015.02.10 225829
89 Information 아르바이트생이 갑자기 그만둔 경우 근로계약 위반에 해당하나요? LionHeart 2014.12.30 87434
88 Information 대법원 2005. 6. 10. 선고 2004다29934 판결 LionHeart 2014.11.28 67146
87 Information [동아일보] 죽음도 지울수 없는 ‘주홍글씨’… 지워야 산다 LionHeart 2014.11.14 88239
86 OS apache VirtualHost 마스터 LionHeart 2014.10.23 107463
Board Pagination ‹ Prev 1 2 3 4 5 6 7 8 9 10 11 12 Next ›
/ 12