- blogs:
- cles::blog
XCacheを導入してみた
もともとPHPのアクセラレーターとしてはeAcceleratorを入れていたんですが、最近新しくXCacheというのができているというのを耳にしたので、ためしに導入をしてみることにしました。
まだ、発展途上のソフトウェアなので日本語の情報があまりないのでちょっと不安になりましたが、なんとかインストールすることができました。インストールについてはDo You PHP? - XCacheを導入してみる - 第3のキャッシュモジュールの説明が詳しいです。
† インストール
今回はスタンダードにインストールしてみました。
# tar jxf xcache-1.2.0-rc2.tar.bz2
# cd xcache
# phpize
# ./configure --enable-xcache --enable-xcache-coverager
# make
# make install
php.iniはこんな感じ
xcache.shm_scheme = "mmap"
xcache.size = 16M
xcache.count = 2
xcache.slots = 8K
xcache.ttl = 0
xcache.gc_interval = 86400
xcache.var_size = 16M
xcache.var_count = 2
xcache.var_slots = 8K
xcache.var_ttl = 86400
xcache.var_maxttl = 0
xcache.var_gc_interval = 7200
今のところは特に問題なく動作しているようです
† APIがちょっと違う
ココはNucleusを使っているサイトの中ではレスポンスがかなり良いほうであるという自信があるのですが、その秘密のひとつは共有メモリを利用したキャッシュを使って、プラグインオプションをすべてメモリ上に保持するようにしMySQLへのクエリの数を抑えているというところにあります。
これまではeAcceleratorのAPIを使って実現していたのですが、今回導入したXCacheにも同様のAPIが用意されています。機能はほとんど同じなのですがeAcceleratorのAPIは引数のValueの型がStringなのに対して、XCacheはmixedになっています。eAcceleratorはStringなのでArrayなどをキャッシュしたい場合には、serialize()/unserialize()をする必要がありましたが、XCacheはそのままキャッシュすることができるため使い勝手はこちらの方が上ですね。
XcacheApi - XCache - Trac
mixed xcache_get(string name)
bool xcache_set(string name, mixed value [, int ttl])
このエントリへのTrackbackにはこのURLが必要です→http://blog.cles.jp/item/1750
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
sp-20100903182130644595536@cles.net
- やっぱりあった!パクれる読... (9)
- 「近いうちに食事」は社交辞令 (5)
- 忘れることができなかったら... (5)
- 年賀状を作っていません (4)
- 新年度のはずなのに (4)
2 . お盆休み (39667)
3 . Echofon for Firefox (13779)
4 . ドラゴンクエストVIの影響力 (13733)
5 . 半熟味付け卵 (13358)