memcached 資料一覧
memcachedインストール手順
2008/9/1更新
対応バージョン: 1.2.6
公式サイト
http://www.danga.com/memcached/
準備
あらかじめインストールしておくもの
libevent
導入OS
Mac OS X 10.5(Leopard)
Fedora 9
管理用アカウント作成
memcachedはrootで実行できないので既存のアカウントで実行するか専用のアカウントを用意してそのアカウントで実行する。ここでは専用のアカウントを作成する。
(Mac OS X)
% sudo dscl . -list /Groups PrimaryGroupID | sort -k 2 -n (空きGIDを調べる) % sudo dscl . -create /Groups/memcached PrimaryGroupID <GID> % sudo dscl . -list /Users UniqueID | sort -k 2 -n (空きUIDを調べる) % sudo dscl . -create /Users/memcached % sudo dscl . -create /Users/memcached RealName memcached % sudo dscl . -create /Users/memcached UniqueID <UID> % sudo dscl . -create /Users/memcached PrimaryGroupID <GID> % sudo dscl . -create /Users/memcached UserShell /sbin/nologin % sudo dscl . -create /Users/memcached Password '*'
関連資料・記事
(Fedora)
% sudo groupadd memcached % sudo useradd -g memcached -s /sbin/nologin -d /nonexistent memcached
インストール
配布ファイル展開
% tar zxvf memcached-1.2.6.tar.gz % cd memcached-1.2.6
make,インストール
% ./configure % make % sudo make install
インストール物 (man,infoは除く)
/usr/local/bin/memcached /usr/local/bin/memcached-debug
動作確認
memcachedを起動する。
% memcached -u memcached -d
まずは-dオプションにてデーモンモードでmemcachedを起動する。
その他、主なオプションを以下に示す。
-m <キャッシュメモリ容量>
デフォルトは64(単位はMB)。
-l <待ち受けネットワークインタフェース>
デフォルトはINDRR_ANY。
-p
デフォルトは11211。
-u <デーモン実行ユーザ>
rootでデーモンを起動する際にデーモン実行ユーザを指定する。
例) キャッシュ = 1GB、接続許可ホスト = ローカルホスト
% memcached -u memcached -d -m 1024 -l 127.0.0.1
次にmemcachedに接続する。
statsコマンドにてmemcachedの動作状況を確認する。
% telnet localhost 11211 stats STAT pid 34304 STAT uptime 26 STAT time 1220202726 STAT version 1.2.6 STAT pointer_size 32 STAT rusage_user 0.000660 STAT rusage_system 0.001495 STAT curr_items 0 STAT total_items 0 STAT bytes 0 STAT curr_connections 3 STAT total_connections 4 STAT connection_structures 4 STAT cmd_get 0 STAT cmd_set 0 STAT get_hits 0 STAT get_misses 0 STAT evictions 0 STAT bytes_read 7 STAT bytes_written 0 STAT limit_maxbytes 67108864 STAT threads 1 END
上記のような結果が返ってくれば正常に動作している。接続を切断するには「quit」と入力する。
memcachedに接続したら実際に値の格納/取得を行ってみる。
コマンドには様々な種類があるが、ここではset(値の格納)とget(値の取得)を使ってみる.
コマンドは以下のフォーマットで指定する。
<コマンド> <キー> <圧縮フラグ(1 or 0)> <有効期間(単位:秒)> <サイズ(単位:Bytes)>
例) 「foo」というキーに「123」という3バイトのデータを非圧縮(0)/無期限(0)で格納する。またそれを取り出す。
set foo 0 0 3 123 => STORED get foo => VALUE foo 0 3 => 123 => END quit
コマンド一覧は以下を参照。
関連資料・記事
memcachedを終了する。
単にkillすればよい。
% sudo killall memcached
memcached起動設定
ここでは起動オプションを以下のとおりとする。
起動モード
-d (デーモンモード)
デーモン実行ユーザ
memcached
キャッシュサイズ
64(MB)
plist作成(Mac OS X)
/Library/LaunchDaemons/memcached.plistを作成する。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>memcached</string> <key>ProgramArguments</key> <array> <string>/usr/local/bin/memcached</string> <string>-d</string> <string>-u</string> <string>memcached</string> <string>-m</string> <string>64</string> </array> </dict> </plist>
initスクリプト作成(Fedora)
/etc/rc.d/init.d/memcachedを作成する。
#!/bin/bash # # memcached # # chkconfig: 345 80 20 # description: memcached TARGET=memcached DST_BIN=/usr/local/bin/${TARGET} EXEC_USER=memcached CACHE_SIZE=64 start() { echo -n "Starting ${TARGET}: " ${DST_BIN} -d -u ${EXEC_USER} -m ${CACHE_SIZE} echo } stop() { echo -n "Shutting down ${TARGET}: " killall ${TARGET} echo } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo "Usage: `basename $0` {start|stop|restart}" >&2 exit 1 esac exit 0
サービス登録/起動
(Mac OS X)
% sudo launchctl load /Library/LaunchDaemons/memcached.plist % sudo launchctl start memcached
(Fedora)
% sudo chkconfig --add memcached % sudo chkconfig --list memcached memcached 0:off 1:off 2:off 3:on 4:on 5:on 6:off % sudo service memcached start