본문 바로가기

in memory storage/Memcached

[Memcached]PHP & Memcached 연동

반응형

logo



Centos7
PHP Version 7.2.16
memcached 1.4.15

다음과 같은 환경에 진행했다.

1. Memcached 설치

yum -y update

# yum으로 설치하면 1.4.15 버전이 설치됨, 가장 최신 버전은 1.5.13
yum -y install memcached

# 설치확인
memcached -h

설정 파일 위치

/etc/sysconfig/memcached

2. PHP-Memcached 설치

PHP에서 Memcached를 사용하게하는 라이브러리이다

php에서 memcached를 사용하기위한 라이브러리 2개(memcache, memcached)가 있다. 나는 memcached를 설치했다. memcahced가 사용할 수 있는 메소드가 더 많다고 한다. 참고

php-memcached를 사용하는데 필요한 라이브러리 설치

yum -y install libmemcached libmemcached-devel

php-memcached 설치

git clone https://github.com/php-memcached-dev/php-memcached.git
cd php-memcached
git checkout php7
phpize  # /usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install

php.ini 수정

# vi /etc/php.ini로 열어서 파일 아래에 아래 내용을 추가한다.


[memcached]
extension=/usr/lib64/php/modules/memcached.so
memcache.allow_failover=1
memcache.max_failover_attempts=20
memcache.chunk_size=8192
memcache.default_port=11211

1222line 수정

   1219 [Session]
   1220 ; Handler used to store/retrieve data.
   1221 ; http://php.net/session.save-handler
   1222 session.save_handler = files
   1223

    #1222라인을 이렇게 바꾼다
   1222 session.save_handler = memcache

테스트 코드

<?php
$mcd = new Memcached;
$mcd->addServer('127.0.0.1',11211);
$mcd->set("test", "test value");
$t = $mcd->get("test");
print($t); # "test value"가 출력될 것이다.

php말고 직접 memcahced 서버에 접속하는법

telnet 설치

yum install telnet -y

memcached에 접속

telnet localhost 11211

커맨드

# 데이터 삽입
set key (flag) (유효시간:sec) (데이터크기) \n
data
> STORED


#데이터 조회
get (key)
> (VALUE)

참고

반응형

'in memory storage > Memcached' 카테고리의 다른 글

[Memcached] About Memcached  (0) 2019.04.23