[2.0] Fixed issue with Cache drivers that in some situations they were not storing the entries. Also fixed bug with queryCacheTTL that was not being considered in a Query.
This commit is contained in:
parent
d24be0b69b
commit
7f7569d983
@ -70,7 +70,7 @@ abstract class AbstractCache implements Cache
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function save($id, $data, $lifeTime = false)
|
||||
public function save($id, $data, $lifeTime = 0)
|
||||
{
|
||||
$id = $this->_getNamespacedId($id);
|
||||
return $this->_doSave($id, $data, $lifeTime);
|
||||
|
@ -71,9 +71,9 @@ class ApcCache extends AbstractCache
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected function _doSave($id, $data, $lifeTime = false)
|
||||
protected function _doSave($id, $data, $lifeTime = 0)
|
||||
{
|
||||
return (bool) apc_store($id, $data, $lifeTime);
|
||||
return (bool) apc_store($id, $data, (int) $lifeTime);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -70,7 +70,7 @@ class ArrayCache extends AbstractCache
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected function _doSave($id, $data, $lifeTime = false)
|
||||
protected function _doSave($id, $data, $lifeTime = 0)
|
||||
{
|
||||
$this->data[$id] = $data;
|
||||
return true;
|
||||
|
@ -55,10 +55,10 @@ interface Cache
|
||||
*
|
||||
* @param string $id The cache id.
|
||||
* @param string $data The cache entry/data.
|
||||
* @param int $lifeTime The lifetime. If != false, sets a specific lifetime for this cache entry (null => infinite lifeTime).
|
||||
* @param int $lifeTime The lifetime. If != 0, sets a specific lifetime for this cache entry (0 => infinite lifeTime).
|
||||
* @return boolean TRUE if the entry was successfully stored in the cache, FALSE otherwise.
|
||||
*/
|
||||
function save($id, $data, $lifeTime = false);
|
||||
function save($id, $data, $lifeTime = 0);
|
||||
|
||||
/**
|
||||
* Deletes a cache entry.
|
||||
|
@ -107,9 +107,9 @@ class MemcacheCache extends AbstractCache
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected function _doSave($id, $data, $lifeTime = false)
|
||||
protected function _doSave($id, $data, $lifeTime = 0)
|
||||
{
|
||||
return $this->_memcache->set($id, $data, 0, $lifeTime ?: 0);
|
||||
return $this->_memcache->set($id, $data, 0, (int) $lifeTime);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -73,9 +73,9 @@ class XcacheCache extends AbstractCache
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
protected function _doSave($id, $data, $lifeTime = false)
|
||||
protected function _doSave($id, $data, $lifeTime = 0)
|
||||
{
|
||||
return xcache_set($id, serialize($data), $lifeTime);
|
||||
return xcache_set($id, serialize($data), (int) $lifeTime);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -199,7 +199,7 @@ final class Query extends AbstractQuery
|
||||
// Cache miss.
|
||||
$parser = new Parser($this);
|
||||
$this->_parserResult = $parser->parse();
|
||||
$queryCache->save($hash, $this->_parserResult, null);
|
||||
$queryCache->save($hash, $this->_parserResult, $this->_queryCacheTTL);
|
||||
} else {
|
||||
// Cache hit.
|
||||
$this->_parserResult = $cached;
|
||||
|
Loading…
Reference in New Issue
Block a user