X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=app%2FGithub%2FStorage%2FMemcache.php;h=9d76a75b135e7eb8b794fe99f557a1fcb4e141d2;hb=eb76e9bb9a39fe2725301f6cf6fc3cf29bbc4e00;hp=1fd189dde0f231cb172fdf05a0c76dd00d74b942;hpb=beaa328995cb2a32871259978d8da4acb3dc7715;p=pharext%2Fpharext.org diff --git a/app/Github/Storage/Memcache.php b/app/Github/Storage/Memcache.php index 1fd189d..9d76a75 100644 --- a/app/Github/Storage/Memcache.php +++ b/app/Github/Storage/Memcache.php @@ -22,7 +22,7 @@ class Memcache implements Storage return sprintf("%s:%s", $this->ns, $key); } - function get($key, &$val = null, &$ltl = null, $update = false) { + function get($key, Item &$item = null, $update = false) { if (!$item = $this->mc->get($this->key($key))) { return false; } @@ -31,28 +31,21 @@ class Memcache implements Storage $ttl = $item->ttl; $set = $item->time; - if (!isset($ttl)) { + if (null === $item->getTTL()) { return true; } - $now = time(); - $ltl = $ttl - ($now - $set); - if ($ltl >= 0) { + if ($item->getLTL() >= 0) { if ($update) { - $item->time = time(); - $this->mc->set($this->key($key), $item, $ttl + 60*60*24); + $item->setTimestamp(); + $this->mc->set($this->key($key), $item, $item->getTTL() + 60*60*24); } return true; } return false; } - function set($key, $val, $ttl = null) { - $item = new Memcache\Item([ - "value" => $val, - "ttl" => $ttl, - "time" => isset($ttl) ? time() : null - ]); - $this->mc->set($this->key($key), $item, isset($ttl) ? $ttl + 60*60*24 : 0); + function set($key, Item $item) { + $this->mc->set($this->key($key), $item, (null !== $item->getTTL()) ? $item->getTTL() + 60*60*24 : 0); return $this; } @@ -60,19 +53,3 @@ class Memcache implements Storage $this->mc->delete($this->key($key)); } } - -namespace app\Github\Storage\Memcache; - -class Item -{ - public $value; - public $time; - public $ttl; - - function __construct(array $data) { - foreach ($data as $key => $val) { - $this->$key = $val; - } - } -} -