PsrCacheAdapter.php 742 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. namespace Aws;
  3. use Psr\Cache\CacheItemPoolInterface;
  4. class PsrCacheAdapter implements CacheInterface
  5. {
  6. /** @var CacheItemPoolInterface */
  7. private $pool;
  8. public function __construct(CacheItemPoolInterface $pool)
  9. {
  10. $this->pool = $pool;
  11. }
  12. public function get($key)
  13. {
  14. $item = $this->pool->getItem($key);
  15. return $item->isHit() ? $item->get() : null;
  16. }
  17. public function set($key, $value, $ttl = 0)
  18. {
  19. $item = $this->pool->getItem($key);
  20. $item->set($value);
  21. if ($ttl > 0) {
  22. $item->expiresAfter($ttl);
  23. }
  24. $this->pool->save($item);
  25. }
  26. public function remove($key)
  27. {
  28. $this->pool->deleteItem($key);
  29. }
  30. }