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);
 | |
|     }
 | |
| }
 | 
