PHPのサーバ側セッションをmemcache上に保存

PHPのサーバ側セッションをmemcache上に保存

皆さんPHPでセッション使いますか?
ブラウザ側はCookieを利用するとして、サーバ側はどうしていますか?
デフォルトのまま=即ちファイルに保存という方が多いかと思います。

さて今回はそのサーバ側のセッションをmemcache上に保存してみます。
メリットは最後にお伝えするとして、とりあえず設定方法を。
サーバはCentOS5を想定しています。

これでmemcachedのインストールと起動は終了です。

いつものお約束ですが、正しくmemcachedが動作しているかtelnetで接続してみましょう。

統計情報が出てきたでしょうか?

次にphp.iniを変更し、セッションをmemcachedに振ります。
設定変更箇所は以下の通りです。

もちろんsession.save_pathのIPアドレスはmemcachedが動作しているサーバのアドレスを指定します。

後は/etc/init.d/httpd restartすれば適用されます。

memcachedに保存するメリットは以下の通り
– メモリ上なので読み書き高速
– フロントサーバが分散していてもセッションを共有できる←このメリットでかい

しかし一方で
– メモリを喰う(大したこと無いけど)
– memcachedもしくはサーバをリスタートするとセッションが消える←このデメリットでかい
というデメリットもあります。

場合に応じて使い分けて下さい。
今回は以上です。