本文整理汇总了PHP中Zend_Cache_Backend::save方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Cache_Backend::save方法的具体用法?PHP Zend_Cache_Backend::save怎么用?PHP Zend_Cache_Backend::save使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Cache_Backend
的用法示例。
在下文中一共展示了Zend_Cache_Backend::save方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: load
/**
* Test if a cache is available for the given id and (if yes) return it (false else)
*
* Note : return value is always "string" (unserialization is done by the core not by the backend)
*
* @param string $id Cache id
* @param boolean $doNotTestCacheValidity If set to true, the cache validity won't be tested
* @return string|false cached datas
*/
public function load($id, $doNotTestCacheValidity = false)
{
self::_validateIdOrTag($id);
$res = $this->_fastBackend->load($id, $doNotTestCacheValidity);
if ($res === false) {
$res = $this->_slowBackend->load($id, $doNotTestCacheValidity);
if ($res === false) {
// there is no cache at all for this id
return false;
}
}
$array = unserialize($res);
// maybe, we have to refresh the fast cache ?
if ($this->_options['auto_refresh_fast_cache']) {
if ($array['priority'] == 10) {
// no need to refresh the fast cache with priority = 10
return $array['data'];
}
$newFastLifetime = $this->_getFastLifetime($array['lifetime'], $array['priority'], time() - $array['expire']);
// we have the time to refresh the fast cache
$usage = $this->_getFastFillingPercentage('loading');
if ($array['priority'] > 0 && 10 * $array['priority'] >= $usage) {
// we can refresh the fast cache
$preparedData = $this->_prepareData($array['data'], $array['lifetime'], $array['priority']);
$this->_fastBackend->save($preparedData, $id, array(), $newFastLifetime);
}
}
return $array['data'];
}
示例2: Set
/**
* Записать значение в кеш
*
* @param mixed $data Данные для хранения в кеше
* @param string $sName Имя ключа
* @param array $aTags Список тегов, для возможности удалять сразу несколько кешей по тегу
* @param int $iTimeLife Время жизни кеша в секундах
* @return bool
*/
public function Set($data, $sName, $aTags = array(), $iTimeLife = false)
{
if (!$this->bUseCache) {
return false;
}
/**
* Т.к. название кеша может быть любым то предварительно хешируем имя кеша
*/
$sName = md5(Config::Get('sys.cache.prefix') . $sName);
if ($this->sCacheType == SYS_CACHE_TYPE_FILE) {
$data = serialize($data);
}
return $this->oBackendCache->save($data, $sName, $aTags, $iTimeLife);
}
示例3: save
/**
* Save some string datas into a cache record
*
* Note : $data is always "string" (serialization is done by the
* core not by the backend)
*
* @param string $data Datas to cache
* @param string $cacheId Cache id
* @param string[] $tags Array of strings, the cache record will be tagged by each string entry
* @param bool $specificLifetime If != false, set a specific lifetime for this cache record
* (null => infinite lifetime)
* @param int $priority integer between 0 (very low priority) and 10 (maximum priority) used by
* some particular backends
* @return bool true if no problem
*/
public function save($data, $cacheId, $tags = [], $specificLifetime = false, $priority = 8)
{
return $this->_backend->save($data, $cacheId, $tags, $specificLifetime, $priority);
}