MediaWiki  REL1_20
APCBagOStuff.php
Go to the documentation of this file.
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 }