<?php
include_once dirname ( __FILE__ ) . '/Memory.php';
class Sphere_Cache_Instance {
protected $instance;
protected function __construct() {
if (! $this->instance) {
$this->instance = new Sphere_Cache_Instance_Memory ();
}
}
protected function cacheKey($ns, $key) {
if (is_array ( $key ))
$key = implode ( '-', $key );
return $ns . '-' . $key;
}
public function set($namespace, $key, $value) {
$this->instance->set ( $this->cacheKey ( $namespace, $key ), $value );
}
public function get($namespace, $key) {
return $this->instance->get ( $this->cacheKey ( $namespace, $key ) );
}
public function has($namespace, $key) {
return $this->get ( $namespace, $key ) !== false;
}
public function flush() {
$this->instance->flush ();
$time = time () + 1; // one second future
while ( time () < $time ) {
// sleep
}
}
public static function getInstance() {
static $singleton = NULL;
if ($singleton === NULL) {
$singleton = new self ();
}
return $singleton;
}
}
?>