File "Memcached.php"
Full path: /home/kosmetik/public_html/wp-includes/SimplePie/Cache/Memcached.php
File
size: 1.67 B
MIME-type: text/x-php
Charset: utf-8
Download Open Edit Advanced Editor Back
<?php
class SimplePie_Cache_Memcached implements SimplePie_Cache_Base
{
protected $cache;
protected $options;
protected $name;
public function __construct($location, $name, $type)
{
$this->options = array('host' => '127.0.0.1', 'port' => 11211, 'extras' => array('timeout' => 3600, 'prefix' => 'simplepie_'));
$this->options = SimplePie_Misc::array_merge_recursive($this->options, SimplePie_Cache::parse_URL($location));
$this->name = $this->options['extras']['prefix'] . md5("{$name}:{$type}");
$this->cache = new Memcached();
$this->cache->addServer($this->options['host'], (int) $this->options['port']);
}
public function save($data)
{
if ($data instanceof SimplePie) {
$data = $data->data;
}
return $this->setData(serialize($data));
}
public function load()
{
$data = $this->cache->get($this->name);
if ($data !== false) {
return unserialize($data);
}
return false;
}
public function mtime()
{
$data = $this->cache->get($this->name . '_mtime');
return (int) $data;
}
public function touch()
{
$data = $this->cache->get($this->name);
return $this->setData($data);
}
public function unlink()
{
return $this->cache->delete($this->name, 0);
}
private function setData($data)
{
if ($data !== false) {
$this->cache->set($this->name . '_mtime', time(), (int) $this->options['extras']['timeout']);
return $this->cache->set($this->name, $data, (int) $this->options['extras']['timeout']);
}
return false;
}
}