unserialize( $blob ); if ( $value !== false ) { $casToken = $blob; // don't bother hashing this } return $value; } public function set( $key, $value, $exptime = 0, $flags = 0 ) { apc_store( $key . self::KEY_SUFFIX, $this->serialize( $value ), $exptime ); return true; } public function add( $key, $value, $exptime = 0, $flags = 0 ) { return apc_add( $key . self::KEY_SUFFIX, $this->serialize( $value ), $exptime ); } public function delete( $key, $flags = 0 ) { apc_delete( $key . self::KEY_SUFFIX ); return true; } public function incr( $key, $value = 1 ) { return apc_inc( $key . self::KEY_SUFFIX, $value ); } public function decr( $key, $value = 1 ) { return apc_dec( $key . self::KEY_SUFFIX, $value ); } protected function serialize( $value ) { return $this->isInteger( $value ) ? (int)$value : serialize( $value ); } protected function unserialize( $value ) { return $this->isInteger( $value ) ? (int)$value : unserialize( $value ); } }