本文整理汇总了PHP中Zend_Cache_Backend::load方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Cache_Backend::load方法的具体用法?PHP Zend_Cache_Backend::load怎么用?PHP Zend_Cache_Backend::load使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Cache_Backend
的用法示例。
在下文中一共展示了Zend_Cache_Backend::load方法的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: multiGet
/**
* Поддержка мульти-запросов к кешу
* Такие запросы поддерживает только memcached, поэтому для остальных типов делаем эмуляцию
*
* @param array $aName Имя ключа
* @return bool|array
*/
public function multiGet($aName)
{
if (count($aName) == 0) {
return false;
}
if ($this->sCacheType == SYS_CACHE_TYPE_MEMORY) {
$aKeys = array();
$aKv = array();
foreach ($aName as $sName) {
$aKeys[] = md5(Config::Get('sys.cache.prefix') . $sName);
$aKv[md5(Config::Get('sys.cache.prefix') . $sName)] = $sName;
}
$data = $this->oBackendCache->load($aKeys);
if ($data and is_array($data)) {
$aData = array();
foreach ($data as $key => $value) {
$aData[$aKv[$key]] = $value;
}
if (count($aData) > 0) {
return $aData;
}
}
return false;
} else {
$aData = array();
foreach ($aName as $key => $sName) {
if (false !== ($data = $this->Get($sName))) {
$aData[$sName] = $data;
}
}
if (count($aData) > 0) {
return $aData;
}
return false;
}
}
示例3: 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 $cacheId Cache id
* @param boolean $noTestCacheValidity If set to true, the cache validity won't be tested
* @return string|false cached datas
*/
public function load($cacheId, $noTestCacheValidity = false)
{
return $this->_backend->load($cacheId, $noTestCacheValidity);
}