前の記事に書いた、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