멤캐시드: Difference between revisions

From CS Wiki
(새 문서: 분류:공개 소프트웨어분류:데이터베이스 ;Memcached ;메인 메모리에 데이터 및 오브젝트를 캐시함으로써 데이터베이스 및 API에서 읽어...)
 
No edit summary
Line 2: Line 2:
;Memcached
;Memcached
;메인 메모리에 데이터 및 오브젝트를 캐시함으로써 데이터베이스 및 API에서 읽어와야 하는 횟수를 줄일 수 있는 분산 메모리 캐시 시스템
;메인 메모리에 데이터 및 오브젝트를 캐시함으로써 데이터베이스 및 API에서 읽어와야 하는 횟수를 줄일 수 있는 분산 메모리 캐시 시스템
== 라이센스 ==
* BSD 라이센스
== 사용 환경 ==
* 유닉스, 리눅스, 윈도우 등의 주요 OS에서 사용 가능
== 설치 ==
=== 패키지가 있는지 확인 ===
<pre>
# command
$ yum list | grep memcached
# command result
libmemcached.i686                      0.31-1.1.el6                    base   
libmemcached.x86_64                    0.31-1.1.el6                    base   
libmemcached-devel.i686                0.31-1.1.el6                    base   
libmemcached-devel.x86_64              0.31-1.1.el6                    base   
memcached.x86_64                      1.4.4-3.el6                      base   
memcached-devel.i686                  1.4.4-3.el6                      base   
memcached-devel.x86_64                1.4.4-3.el6                      base   
python-memcached.noarch                1.43-6.el6                      base
</pre>
=== 패키지 설치 ===
<pre>
# command
$ yum install memcached
# result
==============================================================================================================================
Package                        Arch                        Version                          Repository                Size
==============================================================================================================================
Installing:
memcached                      x86_64                      1.4.4-3.el6                      base                      68 k
Installing for dependencies:
libevent                      x86_64                      1.4.13-4.el6                      base                      66 k
Transaction Summary
==============================================================================================================================
Install      2 Package(s)
Total download size: 134 k
Installed size: 374 k
Is this ok [y/N]: y
Downloading Packages:
(1/2): libevent-1.4.13-4.el6.x86_64.rpm                                                                |  66 kB    00:00   
(2/2): memcached-1.4.4-3.el6.x86_64.rpm                                                                |  68 kB    00:00   
------------------------------------------------------------------------------------------------------------------------------
Total                                                                                        1.6 MB/s | 134 kB    00:00   
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : libevent-1.4.13-4.el6.x86_64                                                                              1/2
Installing : memcached-1.4.4-3.el6.x86_64                                                                              2/2
Verifying  : libevent-1.4.13-4.el6.x86_64                                                                              1/2
Verifying  : memcached-1.4.4-3.el6.x86_64                                                                              2/2
Installed:
memcached.x86_64 0:1.4.4-3.el6                                                                                             
Dependency Installed:
libevent.x86_64 0:1.4.13-4.el6                                                                                             
Complete!
</pre>
== 사용 ==
=== 환경 설정 ===
<pre>
# command
$ vi /etc/sysconfig/memcached
# result
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 127.0.0.1" # 기본 설정값은 비어있습니다.
</pre>
* PORT : memcached가 사용할 포트 지정
* USER : 만약 root로 실행한다면 이때 사용할 memcached 사용자 이름
* MAXCONN : 최대 연결할 수 있는 커넥션 개수
* CACHESIZE : 사용할 메모리를 결정합니다. MB단위
* OPTIONS : -l 옵션은 바인드 IP 설정. Apache, NginX는 여기 설정된 값으로 연결을 시도
** 로컬호스트(127.0.0.1)로 지정한 경우 외부 접근 불가
=== 실행/종료 등 ===
<pre>
$ /etc/init.d/memcached start
$ /etc/init.d/memcached restart
$ /etc/init.d/memcached stop
$ /etc/init.d/memcached status
$ memcached-tool
</pre>
=== 자동 실행 등록 ===
<pre>
$ chkconfig --levels 235 memcached on
</pre>
=== 동작 확인 ===
* 데몬과 포트 리스닝 확인
<pre>
$ ps -ef | grep memcached # 프로세스가 떠있는지 확인합니다.
$ netstat -an | grep 11211 # 포트가 리슨중인지 확인합니다.
</pre>
* 실행 중 데몬의 상세 정보
<pre>
$ memcached-tool 127.0.0.1 stats
</pre>

Revision as of 10:30, 24 April 2020

Memcached
메인 메모리에 데이터 및 오브젝트를 캐시함으로써 데이터베이스 및 API에서 읽어와야 하는 횟수를 줄일 수 있는 분산 메모리 캐시 시스템

라이센스

  • BSD 라이센스

사용 환경

  • 유닉스, 리눅스, 윈도우 등의 주요 OS에서 사용 가능

설치

패키지가 있는지 확인

# command
$ yum list | grep memcached
# command result
libmemcached.i686                      0.31-1.1.el6                     base    
libmemcached.x86_64                    0.31-1.1.el6                     base    
libmemcached-devel.i686                0.31-1.1.el6                     base    
libmemcached-devel.x86_64              0.31-1.1.el6                     base    
memcached.x86_64                       1.4.4-3.el6                      base    
memcached-devel.i686                   1.4.4-3.el6                      base    
memcached-devel.x86_64                 1.4.4-3.el6                      base    
python-memcached.noarch                1.43-6.el6                       base 

패키지 설치

# command
$ yum install memcached
# result
==============================================================================================================================
Package                        Arch                        Version                           Repository                 Size
==============================================================================================================================
Installing:
memcached                      x86_64                      1.4.4-3.el6                       base                       68 k
Installing for dependencies:
libevent                       x86_64                      1.4.13-4.el6                      base                       66 k

Transaction Summary
==============================================================================================================================
Install       2 Package(s)

Total download size: 134 k
Installed size: 374 k
Is this ok [y/N]: y
Downloading Packages:
(1/2): libevent-1.4.13-4.el6.x86_64.rpm                                                                |  66 kB     00:00     
(2/2): memcached-1.4.4-3.el6.x86_64.rpm                                                                |  68 kB     00:00     
------------------------------------------------------------------------------------------------------------------------------
Total                                                                                         1.6 MB/s | 134 kB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
 Installing : libevent-1.4.13-4.el6.x86_64                                                                               1/2 
 Installing : memcached-1.4.4-3.el6.x86_64                                                                               2/2 
 Verifying  : libevent-1.4.13-4.el6.x86_64                                                                               1/2 
 Verifying  : memcached-1.4.4-3.el6.x86_64                                                                               2/2 

Installed:
 memcached.x86_64 0:1.4.4-3.el6                                                                                              

Dependency Installed:
 libevent.x86_64 0:1.4.13-4.el6                                                                                              

Complete!

사용

환경 설정

# command
$ vi /etc/sysconfig/memcached
# result
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 127.0.0.1" # 기본 설정값은 비어있습니다.
  • PORT : memcached가 사용할 포트 지정
  • USER : 만약 root로 실행한다면 이때 사용할 memcached 사용자 이름
  • MAXCONN : 최대 연결할 수 있는 커넥션 개수
  • CACHESIZE : 사용할 메모리를 결정합니다. MB단위
  • OPTIONS : -l 옵션은 바인드 IP 설정. Apache, NginX는 여기 설정된 값으로 연결을 시도
    • 로컬호스트(127.0.0.1)로 지정한 경우 외부 접근 불가

실행/종료 등

$ /etc/init.d/memcached start
$ /etc/init.d/memcached restart
$ /etc/init.d/memcached stop
$ /etc/init.d/memcached status
$ memcached-tool

자동 실행 등록

$ chkconfig --levels 235 memcached on

동작 확인

  • 데몬과 포트 리스닝 확인
$ ps -ef | grep memcached # 프로세스가 떠있는지 확인합니다.
$ netstat -an | grep 11211 # 포트가 리슨중인지 확인합니다.
  • 실행 중 데몬의 상세 정보
$ memcached-tool 127.0.0.1 stats