<?php
namespace Aws;
use Psr\Cache\CacheItemPoolInterface;
class PsrCacheAdapter implements CacheInterface
{
/** @var CacheItemPoolInterface */
private $pool;
public function __construct(CacheItemPoolInterface $pool)
{
$this->pool = $pool;
}
public function get($key)
{
$item = $this->pool->getItem($key);
return $item->isHit() ? $item->get() : null;
}
public function set($key, $value, $ttl = 0)
{
$item = $this->pool->getItem($key);
$item->set($value);
if ($ttl > 0) {
$item->expiresAfter($ttl);
}
$this->pool->save($item);
}
public function remove($key)
{
$this->pool->deleteItem($key);
}
}
|