XCache を使ってみた

前の記事に書いた、XCache を使ってみました。
 
例1:

if(!xcache_isset(“time”)){
    xcache_set(“time”, “現在の時刻: “.date(“Y-m-d H:i:s”), 30); // 30 秒間キャッシュ. 数値を省略すると、おそらく php.ini の設定依存
}
 
echo xcache_get(“time”);

結果例:

現在の時刻: 2007-03-14 11:30:56

30秒未満でアクセスすると、キャッシュを参照するため常に同じ結果を返します。
30秒以上経過後にアクセスすると、新たに現在時刻をキャッシュ、表示します。
 
例2:

echo “count: ” . xcache_inc(“count”);

結果:

count: 1

数値は 1, 2, 3… と、アクセスする度に増加していきます。
 
手軽に扱え、管理ページもあるということでなかなか便利そうです。
 
ちなみに、php.ini の設定は大体以下のようにしました(xcache.admin.user, xcahe.admin.pass は要変更)。

[xcache-common]
zend_extension = /usr/local/lib/php/20060613/xcache.so
; extension = xcache.so
; extension = php_xcache.dll

[xcache.admin]
xcache.admin.user = “admin”
xcache.admin.pass = “fded9601747e160c1dac9b7eb0ce4af9” ; md5($your_password)

[xcache]
xcache.shm_scheme = “mmap”
xcache.size = 4M
; set to cpu count (cat /proc/cpuinfo |grep -c processor)
xcache.count = 1
xcache.slots = 8K
xcache.ttl = 600
xcache.var_ttl = 600
xcache.var_maxttl = 3600
xcache.var_size = 4M
; interval of gc scanning expired items, 0=no scan, other values is in seconds
xcache.gc_interval = 300
 
xcache.test = Off
xcache.readonly_protection = Off
xcache.mmap_path = “/dev/zero”
;xcache.mmap_path = “/tmp/xcache”
 
xcache.coredump_directory = “”
 
; per request settings
xcache.cacher = On
xcache.stat = On
xcache.optimizer = On
  
[xcache.coverager]
xcache.coverager = Off
 
cache.coveragedump_directory = “”
;xcache.coveragedump_directory = “/tmp/pcov/”

 
参考:
XCache API