From 4530ece39dc910f538c4f0ee3f552873a975abf7 Mon Sep 17 00:00:00 2001 From: me Date: Sun, 26 Jul 2026 15:42:12 +0700 Subject: [PATCH] update --- src/Cache/Cache.php | 63 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100755 src/Cache/Cache.php diff --git a/src/Cache/Cache.php b/src/Cache/Cache.php new file mode 100755 index 0000000..d168512 --- /dev/null +++ b/src/Cache/Cache.php @@ -0,0 +1,63 @@ +adapter = $adapter; + } + + public function has($key) + { + return $this->adapter->hasItem($key); + } + + public function get($key, $default = null) + { + $item = $this->adapter->getItem($key); + return $item->isHit() ? $item->get() : $default; + } + + public function set($key, $value, $ttl = null) + { + $item = $this->adapter->getItem($key); + $item->expiresAfter($ttl); + $item->set($value); + + return $this->adapter->save($item); + } + + public function delete($key) + { + return $this->adapter->deleteItem($key); + } + + public function clear() + { + return $this->adapter->clear(); + } + + public function r($key, $callback, $ttl = null) + { + $item = $this->adapter->getItem($key); + + if ($item->isHit()) { + return $item->get(); + } + + $item->expiresAfter($ttl); + $item->set($callback()); + $this->adapter->save($item); + + return $item->get(); + } +}