4 * cache_eaccelerator.php ($Revision: 1.3 $)
6 * by hsur ( http://blog.cles.jp/np_cles )
7 * $Id: cache_eaccelerator.php,v 1.3 2006-10-17 15:37:58 hsur Exp $
10 function pbl_ipcache_write(){
11 $key = sprintf("BL%u", ip2long(serverVar('REMOTE_ADDR')));
12 if( ! rand(0,19) ) pbl_ipcache_gc();
15 eaccelerator_lock($key);
16 eaccelerator_put($key, true, NP_BLACKLIST_CACHE_LIFE);
17 eaccelerator_unlock($key);
20 function pbl_ipcache_read(){
21 $key = sprintf("BL%u", ip2long(serverVar('REMOTE_ADDR')));
23 if( eaccelerator_get($key) ){
29 function pbl_ipcache_gc(){
34 $lastGc = intval(eaccelerator_get(NP_BLACKLIST_CACHE_GC_TIMESTAMP));
35 if($now - $lastGc > NP_BLACKLIST_CACHE_GC_INTERVAL){
36 pbl_log("GC started.");
39 eaccelerator_lock(NP_BLACKLIST_CACHE_GC_TIMESTAMP);
40 eaccelerator_put(NP_BLACKLIST_CACHE_GC_TIMESTAMP, $lastGc, NP_BLACKLIST_CACHE_GC_TIMESTAMP_LIFE);
41 eaccelerator_unlock(NP_BLACKLIST_CACHE_GC_TIMESTAMP);