/**
  * Constructs a new instance of this class.
  *
  * @param string $name (Required) A name to uniquely identify the cache object.
  * @param string $location (Optional) The location to store the cache object in. This may vary by cache method. The default value is NULL.
  * @param integer $expires (Optional) The number of seconds until a cache object is considered stale. The default value is 0.
  * @param boolean $gzip (Optional) Whether data should be gzipped before being stored. The default value is true.
  * @return object Reference to the cache object.
  */
 public function __construct($name, $location = null, $expires = 0, $gzip = true)
 {
     parent::__construct($name, null, $expires, $gzip);
     $this->id = $this->name;
     // Prefer Memcached over Memcache.
     if (class_exists('Memcached')) {
         $this->memcache = new Memcached();
         $this->is_memcached = true;
     } elseif (class_exists('Memcache')) {
         $this->memcache = new Memcache();
     } else {
         return false;
     }
     // Enable compression, if available
     if ($this->gzip) {
         if ($this->is_memcached) {
             $this->memcache->setOption(Memcached::OPT_COMPRESSION, true);
         } else {
             $this->gzip = MEMCACHE_COMPRESSED;
         }
     }
     // Process Memcached servers.
     if (isset($location) && sizeof($location) > 0) {
         foreach ($location as $loc) {
             if (isset($loc['port']) && !empty($loc['port'])) {
                 $this->memcache->addServer($loc['host'], $loc['port']);
             } else {
                 $this->memcache->addServer($loc['host'], 11211);
             }
         }
     }
     return $this;
 }
 /**
  * Method: __construct()
  * 	The constructor
  * 
  * Access:
  * 	public
  * 
  * Parameters:
  * 	name - _string_ (Required) A name to uniquely identify the cache object.
  * 	location - _string_ (Required) The location to store the cache object in. This may vary by cache method.
  * 	expires - _integer_ (Required) The number of seconds until a cache object is considered stale.
  * 
  * Returns:
  * 	_object_ Reference to the cache object.
  * 
  * See Also:
  * 	Example Usage - http://tarzan-aws.com/docs/examples/cachecore/cache.phps
  */
 public function __construct($name, $location, $expires)
 {
     parent::__construct($name, null, $expires);
     $this->id = $this->name;
     $this->memcache = new Memcache();
     if (extension_loaded('zlib')) {
         $this->compressed = MEMCACHE_COMPRESSED;
     }
     foreach ($location as $loc) {
         $this->memcache->addServer($loc['host'], $loc['port']);
     }
 }
Example #3
0
 /**
  * Method: __construct()
  * 	The constructor
  *
  * Access:
  * 	public
  *
  * Parameters:
  * 	name - _string_ (Required) A name to uniquely identify the cache object.
  * 	location - _string_ (Required) The location to store the cache object in. This may vary by cache method.
  * 	expires - _integer_ (Required) The number of seconds until a cache object is considered stale.
  * 	gzip - _boolean_ (Optional) Whether data should be gzipped before being stored. Defaults to true.
  *
  * Returns:
  * 	_object_ Reference to the cache object.
  */
 public function __construct($name, $location, $expires, $gzip = true)
 {
     parent::__construct($name, null, $expires, $gzip);
     $this->id = $this->name;
     $this->memcache = new Memcache();
     if ($this->gzip) {
         $this->gzip = MEMCACHE_COMPRESSED;
     }
     if (isset($location) && sizeof($location) > 0) {
         foreach ($location as $loc) {
             if (isset($loc['port']) && !empty($loc['port'])) {
                 $this->memcache->addServer($loc['host'], $loc['port']);
             } else {
                 $this->memcache->addServer($loc['host']);
             }
         }
     }
     return;
 }
 /**
  * Constructs a new instance of this class.
  *
  * Tested with [MySQL 5.0.x](http://mysql.com), [PostgreSQL](http://postgresql.com), and
  * [SQLite 3.x](http://sqlite.org). SQLite 2.x is assumed to work. No other PDO-supported databases have
  * been tested (e.g. Oracle, Microsoft SQL Server, IBM DB2, ODBC, Sybase, Firebird). Feel free to send
  * patches for additional database support.
  *
  * See <http://php.net/pdo> for more information.
  *
  * @param string $name (Required) A name to uniquely identify the cache object.
  * @param string $location (Optional) The location to store the cache object in. This may vary by cache method. The default value is NULL.
  * @param integer $expires (Optional) The number of seconds until a cache object is considered stale. The default value is 0.
  * @param boolean $gzip (Optional) Whether data should be gzipped before being stored. The default value is true.
  * @return object Reference to the cache object.
  */
 public function __construct($name, $location = null, $expires = 0, $gzip = true)
 {
     // Make sure the name is no longer than 40 characters.
     $name = sha1($name);
     // Call parent constructor and set id.
     parent::__construct($name, $location, $expires, $gzip);
     $this->id = $this->name;
     $options = array();
     // Check if the location contains :// (e.g. mysql://user:pass@hostname:port/table)
     if (stripos($location, '://') === false) {
         // No? Just pass it through.
         $this->dsn = parse_url($location);
         $this->dsn_string = $location;
     } else {
         // Yes? Parse and set the DSN
         $this->dsn = parse_url($location);
         $this->dsn_string = $this->dsn['scheme'] . ':host=' . $this->dsn['host'] . (isset($this->dsn['port']) ? ';port=' . $this->dsn['port'] : '') . ';dbname=' . substr($this->dsn['path'], 1);
     }
     // Make sure that user/pass are defined.
     $user = isset($this->dsn['user']) ? $this->dsn['user'] : null;
     $pass = isset($this->dsn['pass']) ? $this->dsn['pass'] : null;
     // Set persistence for databases that support it.
     switch ($this->dsn['scheme']) {
         case 'mysql':
             // MySQL
         // MySQL
         case 'pgsql':
             // PostgreSQL
             $options[PDO::ATTR_PERSISTENT] = true;
             break;
     }
     // Instantiate a new PDO object with a persistent connection.
     $this->pdo = new PDO($this->dsn_string, $user, $pass, $options);
     // Define prepared statements for improved performance.
     $this->create = $this->pdo->prepare("INSERT INTO cache (id, expires, data) VALUES (:id, :expires, :data)");
     $this->read = $this->pdo->prepare("SELECT id, expires, data FROM cache WHERE id = :id");
     $this->reset = $this->pdo->prepare("UPDATE cache SET expires = :expires WHERE id = :id");
     $this->delete = $this->pdo->prepare("DELETE FROM cache WHERE id = :id");
 }
 /**
  * Method: __construct()
  * 	The constructor
  *
  * Access:
  * 	public
  *
  * Parameters:
  * 	name - _string_ (Required) A name to uniquely identify the cache object.
  * 	location - _string_ (Required) The location to store the cache object in. This may vary by cache method.
  * 	expires - _integer_ (Required) The number of seconds until a cache object is considered stale.
  * 	gzip - _boolean_ (Optional) Whether data should be gzipped before being stored. Defaults to true.
  *
  * Returns:
  * 	_object_ Reference to the cache object.
  */
 public function __construct($name, $location, $expires, $gzip = true)
 {
     parent::__construct($name, null, $expires, $gzip);
     $this->id = $this->name;
 }
 /**
  * Constructs a new instance of this class.
  *
  * @param string $name (Required) A name to uniquely identify the cache object.
  * @param string $location (Optional) The location to store the cache object in. This may vary by cache method. The default value is NULL.
  * @param integer $expires (Optional) The number of seconds until a cache object is considered stale. The default value is 0.
  * @param boolean $gzip (Optional) Whether data should be gzipped before being stored. The default value is true.
  * @return object Reference to the cache object.
  */
 public function __construct($name, $location = null, $expires = 0, $gzip = true)
 {
     parent::__construct($name, $location, $expires, $gzip);
     $this->id = $this->location . '/' . $this->name . '.cache';
 }
 /**
  * Method: __construct()
  * 	The constructor
  * 
  * Access:
  * 	public
  * 
  * Parameters:
  * 	name - _string_ (Required) A name to uniquely identify the cache object.
  * 	location - _string_ (Required) The location to store the cache object in. This may vary by cache method.
  * 	expires - _integer_ (Required) The number of seconds until a cache object is considered stale.
  * 
  * Returns:
  * 	_object_ Reference to the cache object.
  * 
  * See Also:
  * 	Example Usage - http://tarzan-aws.com/docs/examples/cachecore/cache.phps
  */
 public function __construct($name, $location, $expires)
 {
     parent::__construct($name, $location, $expires);
     $this->id = $this->location . '/' . $this->name . '.cache';
 }