memcachedをインストールしphpから使用する

はてなブックマーク - memcachedをインストールしphpから使用する
このエントリーをはてなブックマークに追加
Share on Facebook

サーバーにmemcachedを入れてphpから使用することがあったので、今更だけど、インストールメモ。

memcachedとは何かというと、独立したサーバプログラムで、メモリ上にデータを保持することができます。

メモリ空間を使用するので、とにかくデータの呼び出しがDBと比較して格段に早いです。

ここでは、デーモンとして常駐するmemcachedとphpから操作する為のインターフェースMemcacheモジュールをインストールします。

まずは、memcachedをインストール

Bash

wget http://www.danga.com/memcached/dist/memcached-1.2.6.tar.gz
tar zxvf memcached-1.2.6.tar.gz
cd memcached-1.2.6
./configure

libeventが無いと怒られるので、yumで入れる

Bash

yum install -y libevent-devel.i386

再コンパイル

Bash

./configure
make
make install

んーあっさり完了。

Bash

memcached -d -m 64 -p 11211

これで立ち上げます。
psコマンドなどで動いているかを確認しましょう。
オプションの意味はこんな感じです。
-d :          デーモンモード
-m 64 :        64MBのメモリをストレージとして使用する
-p 11211 :    11211番ポートで待ち受ける
ローカル環境からのアクセスのみ許可する場合はこう。

Bash

memcached -d -m 64 -p 11211 -l 127.0.0.1

そういえばrootだと起動できないです。
rootの場合は"-u nobody"のようにユーザー名を付けてください。

/etc/init.dにスクリプトを書く場合はこんな感じ

Bash

#! /bin/sh
#
# Source function library.
. /etc/rc.d/init.d/functions
# Get config.
. /etc/sysconfig/network
# Check that networking is up.
if [ ${NETWORKING} = "no" ]
then
exit 0
fi
# See how we were called.
case "$1" in
start)
echo -n "Starting memcached services: "
daemon /usr/local/bin/memcached -m 64 -p 11211 -d -u nobody
echo
touch /var/lock/subsys/memcached
;;
stop)
echo -n "Stopping memcached services: "
killproc /usr/local/bin/memcached
echo
rm -f /var/lock/subsys/memcached
;;
status)
status /usr/local/bin/memcached
;;
restart|reload)
$0 stop
$0 start
;;
*)
echo "Usage: memcached {start|stop|status|restart}"
exit 1
esac
exit 0
</pre>
あとは自動起動の設定っと。
[bash ruler="true" lang_name="true"]
ln -s /etc/rc.d/init.d/memcached /etc/rc.d/rc2.d/S99memcached
ln -s /etc/rc.d/init.d/memcached /etc/rc.d/rc3.d/S99memcached
ln -s /etc/rc.d/init.d/memcached /etc/rc.d/rc5.d/S99memcached

うん。思ったより簡単でした。

次にphpから使う場合は・・・

Bash

sudo pecl install memcache

を実行すると最後に

You should add "extension=memcache.so" to php.ini

みたいなのが表示されます。
なのでphp.iniに

extension=memcache.so

を追加すればOK。
(extensionフォルダの中を見て、ちゃんとmemcache.soがある場所を指定してください。)
これで、phpからmemcacheが使えるようになりました。
細かい使用法はこのあたりでどうぞ。
http://jp2.php.net/manual/ja/book.memcache.php

memcachedをインストールしphpから使用する” への1件のコメント

  1. ピンバック: いまさらmemcachedとphp | YoneApp@iPhoneアプリ開発

コメントをどうぞ

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt="">