page_adsence

2011年9月13日火曜日

memcacheのインストール

memcacheが標準っぽくなってきたので、自分のVMWare上にも入れてみた。
まずyumからインストールする
必要であればリポジトリを指定してやる。
yum install memcached

以下のファイルを作成し、中身を書く。
# vi /etc/php.d/memcached.ini

extension=memcache.so

で、apache再起動。

きちんと読み込まれているか確認
php -i | grep memcache

/etc/php.d/memcached.ini,
memcache
memcache support => enabled
memcache.allow_failover => 1 => 1
memcache.chunk_size => 8192 => 8192
memcache.default_port => 11211 => 11211
memcache.default_timeout_ms => 1000 => 1000
memcache.hash_function => crc32 => crc32
memcache.hash_strategy => standard => standard
memcache.max_failover_attempts => 20 => 20
Registered save handlers => files user memcache

で、起動させる。
memcached -d -m 128 -l 127.0.0.1 -p 11211

ちなみにオプションはこんな感じ
オプション 説明 デフォルト値
-l <ip_addr> memcachedがListenするIPアドレス。 セキュリティを考慮するときちんと指定したほうがよい。 INDRR_ANY
-d デーモンとして起動
-s <file> Unixソケットへのパス
-P <filename> PIDファイルの指定。デーモンとして動作した場合のみ有効。
-u <username> memcachedを起動するユーザーを指定。root権限で実行した場合のみ有効。
-p <num> ListenするTCPポート番号。 11211
-U <num> ListenするUDPポート番号。 0, Off
-m <num> キャッシュとして利用するメモリの最大容量。単位はMB。 64
-c <num> 最大同時接続数。 1024
-M メモリを使い果たしたとき勝手にキャッシュを削除しないでエラーを返す
-n <bytes> キャッシュ1件(key+value+flags)に割り当てる最小サイズ 単位はバイト。 48
-v errorとwarningを出力
-vv -vに加えてクライアントコマンドとレスポンスを出力
-i ライセンス表示
-h バージョンとヘルプの表示
-r コアファイルのサイズ制限を最大化する。
-k 巨大なキャッシュを扱うときにキケンなオプション。
-f <factor> チャンクサイズの増加係数 1.25
-b 管理されたインスタンスの起動

起動できているか確認してみる。
$ telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
set foo 0 0 3     (保存コマンド)
bar               (データ)
STORED            (結果)
get foo           (取得コマンド)
VALUE foo 0 3     (データ)
bar               (データ)

とりあえずこんな感じです。