39 lines
742 B
PHP
39 lines
742 B
PHP
<?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);
|
|
}
|
|
}
|