MediaWiki
REL1_20
|
00001 <?php 00029 class APCBagOStuff extends BagOStuff { 00034 public function get( $key ) { 00035 $val = apc_fetch( $key ); 00036 00037 if ( is_string( $val ) ) { 00038 if ( $this->isInteger( $val ) ) { 00039 $val = intval( $val ); 00040 } else { 00041 $val = unserialize( $val ); 00042 } 00043 } 00044 00045 return $val; 00046 } 00047 00054 public function set( $key, $value, $exptime = 0 ) { 00055 if ( !$this->isInteger( $value ) ) { 00056 $value = serialize( $value ); 00057 } 00058 00059 apc_store( $key, $value, $exptime ); 00060 00061 return true; 00062 } 00063 00069 public function delete( $key, $time = 0 ) { 00070 apc_delete( $key ); 00071 00072 return true; 00073 } 00074 00075 public function incr( $key, $value = 1 ) { 00076 return apc_inc( $key, $value ); 00077 } 00078 00079 public function decr( $key, $value = 1 ) { 00080 return apc_dec( $key, $value ); 00081 } 00082 00086 public function keys() { 00087 $info = apc_cache_info( 'user' ); 00088 $list = $info['cache_list']; 00089 $keys = array(); 00090 00091 foreach ( $list as $entry ) { 00092 $keys[] = $entry['info']; 00093 } 00094 00095 return $keys; 00096 } 00097 }