public function save(CacheItemInterface $item)
{
$timeToLive = null;
if ($item instanceof HasExpirationDateInterface) {
if (null !== ($expirationDate = $item->getExpirationDate())) {
$timeToLive = $expirationDate->getTimestamp() - time();
if ($timeToLive < 0) {
return $this->deleteItem($item->getKey());
}
}
}
try {
return $this->storeItemInCache($item, $timeToLive);
} catch (\Exception $e) {
$this->handleException($e, __FUNCTION__);
}
}