[Cache] Fix expiry comparisons in array-based pools

This commit is contained in:
Nicolas Grekas 2018-06-11 14:15:46 +02:00
parent 873abdad12
commit 68729cc68a
2 changed files with 3 additions and 3 deletions

View File

@ -21,7 +21,7 @@ class ArrayCache extends CacheProvider
$expiry = $this->data[$id][1];
return !$expiry || time() <= $expiry || !$this->doDelete($id);
return !$expiry || time() < $expiry || !$this->doDelete($id);
}
protected function doSave($id, $data, $lifeTime = 0)

View File

@ -44,7 +44,7 @@ trait ArrayTrait
{
CacheItem::validateKey($key);
return isset($this->expiries[$key]) && ($this->expiries[$key] >= time() || !$this->deleteItem($key));
return isset($this->expiries[$key]) && ($this->expiries[$key] > time() || !$this->deleteItem($key));
}
/**
@ -81,7 +81,7 @@ trait ArrayTrait
{
foreach ($keys as $i => $key) {
try {
if (!$isHit = isset($this->expiries[$key]) && ($this->expiries[$key] >= $now || !$this->deleteItem($key))) {
if (!$isHit = isset($this->expiries[$key]) && ($this->expiries[$key] > $now || !$this->deleteItem($key))) {
$this->values[$key] = $value = null;
} elseif (!$this->storeSerialized) {
$value = $this->values[$key];