本文整理汇总了PHP中Cache_Lite::save方法的典型用法代码示例。如果您正苦于以下问题:PHP Cache_Lite::save方法的具体用法?PHP Cache_Lite::save怎么用?PHP Cache_Lite::save使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Cache_Lite
的用法示例。
在下文中一共展示了Cache_Lite::save方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getFromUserFunction
function getFromUserFunction()
{
$result = $this->object->{$this->method}();
if ($result) {
$this->oCache->save(serialize($result), $this->cacheId, $this->groupId);
return $result;
}
return $this->getFromPermamentCache();
}
示例2: save
/**
* A method to save the permanent cache content. The content will be serialized and
* compressed to save space
*
* @param mixed $data The content to save
* @param string $cacheName The name of the original file we are storing
* @return bool True if the cache was correctly saved
*/
function save($data, $cacheName)
{
if (is_writable($this->cachePath) && extension_loaded('zlib')) {
$id = $this->_getId($cacheName);
$group = $this->_getGroup($cacheName);
return $this->oCache->save(gzcompress(serialize($data), 9), $id, $group);
}
return false;
}
示例3: getData
public function getData()
{
$Cache_Lite = new Cache_Lite(parent::getCacheOptions());
$url = sprintf('https://readitlaterlist.com/v2/get?username=%s&password=%s&apikey=%s&count=%s&format=json', $this->config['username'], $this->config['password'], $this->config['apikey'], $this->config['total']);
$id = $url;
if ($data = $Cache_Lite->get($id)) {
$data = json_decode($data);
} else {
$Cache_Lite->get($id);
PubwichLog::log(2, Pubwich::_('Rebuilding cache for a Readitlater'));
PubwichLog::log(2, $this->url);
$data = file_get_contents($url);
$data = json_decode($data);
foreach ($data->list as $item) {
// Default value
$item->title = parse_url($item->url, PHP_URL_HOST);
// If check page title
if (!empty($this->config['getTitle'])) {
$file = @fopen($item->url, "r");
if ($file) {
$text = fread($file, 1024 * 3);
if (preg_match('/<title>(.*?)<\\/title>/is', $text, $found)) {
$item->title = $found[1];
}
}
}
}
// Write cache
$cacheWrite = $Cache_Lite->save(json_encode($data));
}
return $data->list;
}
示例4: retrieveFile
/**
* Retrieves data from cache, if it's there. If it is, but it's expired,
* it performs a conditional GET to see if the data is updated. If it
* isn't, it down updates the modification time of the cache file and
* returns the data. If the cache is not there, or the remote file has been
* modified, it is downloaded and cached.
*
* @param string URL of remote file to retrieve
* @param int Length of time to cache file locally before asking the server
* if it changed.
* @return string File contents
*/
function retrieveFile($url, $cacheLength, $cacheDir)
{
$cacheID = md5($url);
$cache = new Cache_Lite(array("cacheDir" => $cacheDir, "lifeTime" => $cacheLength));
if ($data = $cache->get($cacheID)) {
return $data;
} else {
// we need to perform a request, so include HTTP_Request
include_once 'HTTP/Request.php';
// HTTP_Request has moronic redirect "handling", turn that off (Alexey Borzov)
$req = new HTTP_Request($url, array('allowRedirects' => false));
// if $cache->get($cacheID) found the file, but it was expired,
// $cache->_file will exist
if (isset($cache->_file) && file_exists($cache->_file)) {
$req->addHeader('If-Modified-Since', gmdate("D, d M Y H:i:s", filemtime($cache->_file)) . " GMT");
}
$req->sendRequest();
if (!($req->getResponseCode() == 304)) {
// data is changed, so save it to cache
$data = $req->getResponseBody();
$cache->save($data, $cacheID);
return $data;
} else {
// retrieve the data, since the first time we did this failed
if ($data = $cache->get($cacheID, 'default', true)) {
return $data;
}
}
}
Services_ExchangeRates::raiseError("Unable to retrieve file {$url} (unknown reason)", SERVICES_EXCHANGERATES_ERROR_RETRIEVAL_FAILED);
return false;
}
示例5: Cacheing
public function Cacheing($url, $flag, $date, $time = 360)
{
$cacheoptions = array('caching' => true, 'lifeTime' => $time, 'automaticCleaningFactor' => '100', 'cacheDir' => dirname(__FILE__) . '/nicocache/cache/');
$CacheLite = new Cache_Lite($cacheoptions);
$returndate;
switch ($flag) {
case TRUE:
if ($filedate = $CacheLite->get($url)) {
switch ($date) {
case "xml":
$xml = simplexml_load_string($filedate, 'SimpleXMLElement', LIBXML_NOCDATA);
if ($xml) {
$returndate = $xml;
} else {
$returndate = $filedate;
}
break;
case "html":
$returndate = $filedate;
break;
}
} else {
$returndate = FALSE;
}
break;
case FALSE:
if ($CacheLite->save($date, $url)) {
$returndate = TRUE;
} else {
$returndate = FALSE;
}
break;
}
return $returndate;
}
示例6: transaction
function transaction($sql)
{
global $response, $apiKey, $data, $basePath;
$parsedSQL = SqlParser::ParseString($sql)->getArray();
//$tokens = SqlParser::Tokenize($sql, true);
if (strpos($sql, ';') !== false) {
$response['success'] = false;
$response['message'] = "You can't use ';'. Use the bulk transaction API instead";
} elseif (strpos($sql, '--') !== false) {
$response['success'] = false;
$response['message'] = "SQL comments '--' are not allowed";
} elseif ($parsedSQL['drop']) {
$response['success'] = false;
$response['message'] = "DROP is not allowed through the API";
} elseif ($parsedSQL['alter']) {
$response['success'] = false;
$response['message'] = "ALTER is not allowed through the API";
} elseif ($parsedSQL['create']) {
$response['success'] = false;
$response['message'] = "CREATE is not allowed through the API";
} elseif ($parsedSQL['update'] || $parsedSQL['insert'] || $parsedSQL['delete']) {
if ($apiKey == $_REQUEST['key'] || $apiKey == false) {
$api = new sqlapi();
$response = $api->transaction($_REQUEST['q']);
} else {
$response['success'] = false;
$response['message'] = "Not the right key!";
}
} elseif ($parsedSQL['select']) {
parse_str(urldecode($_SERVER['QUERY_STRING']), $args);
$id = $args['q'];
if (!$args['lifetime']) {
$args['lifetime'] = 0;
}
$options = array('cacheDir' => "{$basePath}/tmp/", 'lifeTime' => $args['lifetime']);
$Cache_Lite = new Cache_Lite($options);
if ($data = $Cache_Lite->get($id)) {
//echo "cached";
} else {
ob_start();
if ($_REQUEST['srs']) {
$srs = $_REQUEST['srs'];
} else {
$srs = "900913";
}
$api = new sqlapi($srs);
$api->execQuery("set client_encoding='UTF8'", "PDO");
$response = $api->sql($_REQUEST['q']);
echo json_encode($response);
// Cache script
$data = ob_get_contents();
$Cache_Lite->save($data, $id);
ob_get_clean();
}
} else {
$response['success'] = false;
$response['message'] = "Check your SQL. Could not recognise it as either SELECT, INSERT, UPDATE or DELETE";
}
return $response;
}
示例7: versionCheck
/**
* versionCheck - Get the most current version of nterchange and cache the result.
*
* @return array Information about the newest version of nterchange.
**/
function versionCheck()
{
require_once 'Cache/Lite.php';
$options = array('cacheDir' => CACHE_DIR . '/ntercache/', 'lifeTime' => $this->check_version_interval);
$cache = new Cache_Lite($options);
$yaml = $cache->get($this->cache_name, $this->cache_group);
if (empty($yaml)) {
include_once 'HTTP/Request.php';
$req = new HTTP_Request($this->check_version_url);
if (!PEAR::isError($req->sendRequest())) {
$yaml = $req->getResponseBody();
$cached = $cache->save($yaml, $this->cache_name, $this->cache_group);
if ($cached == true) {
NDebug::debug('Version check - data is from the web and is now cached.', N_DEBUGTYPE_INFO);
} else {
NDebug::debug('Version check - data is from the web and is NOT cached.', N_DEBUGTYPE_INFO);
}
}
} else {
NDebug::debug('Version check - data is from the cache.', N_DEBUGTYPE_INFO);
}
require_once 'vendor/spyc.php';
$newest_version_info = @Spyc::YAMLLoad($yaml);
return $newest_version_info;
}
示例8: save
public function save($contents)
{
global $config;
if ($config['cache']['disable']) {
return false;
}
return parent::save($contents, $this->cache_id, $this->cache_group);
}
示例9: save
/**
* Overrides Cache_Lite save() method.
*
* @access public
*
* @param string $data Data to put in cache (can be another type than strings
* if automaticSerialization is on).
* @param string $id (optional) Cache id.
* @param string $group (optional) Name of the cache group.
*
* @return boolean True if no problem (else : false or a PEAR_Error object).
*/
public function save($data, $id = NULL, $group = 'default')
{
$result = parent::save($data, $id, $group);
// Change the permissions on the cache file, so users other than the web server
// user can manage the file.
chmod($this->_file, 0664);
return $result;
}
示例10: saveCache
/**
* 保存Cache文件
* @param Cache_Lite $oCache
* @param string $id
* @param string $group
* @param array $data
* @param string $cachePath
*/
public static function saveCache($oCache, $id, $group, $data, $cachePath)
{
if (is_writable($cachePath) && extension_loaded('zlib')) {
$data = gzcompress(serialize($data), 9);
return $oCache->save($data, $id, $group);
}
return false;
}
示例11: get_file
private function get_file($type)
{
include_once 'Cache_Lite/Lite.php';
$db = Input::getPath()->part(5);
$baseLayer = Input::get("baselayer");
$layers = Input::get("layers");
$center = Input::get("center");
$zoom = Input::get("zoom");
$size = Input::get("size");
$sizeArr = explode("x", Input::get("size"));
$bbox = Input::get("bbox");
$sql = Input::get("sql");
$id = $db . "_" . $baseLayer . "_" . $layers . "_" . $center . "_" . $zoom . "_" . $size . "_" . $bbox . "_" . $sql;
$lifetime = Input::get('lifetime') ?: 0;
$options = array('cacheDir' => \app\conf\App::$param['path'] . "app/tmp/", 'lifeTime' => $lifetime);
$Cache_Lite = new \Cache_Lite($options);
if ($data = $Cache_Lite->get($id)) {
//echo "Cached";
} else {
ob_start();
$fileName = md5(time() . rand(10000, 99999) . microtime());
$file = \app\conf\App::$param["path"] . "/app/tmp/_" . $fileName . "." . $type;
$cmd = "wkhtmltoimage " . "--height {$sizeArr[1]} --disable-smart-width --width {$sizeArr[0]} --quality 90 --javascript-delay 1000 " . "\"" . "http://127.0.0.1" . "/api/v1/staticmap/html/{$db}?baselayer={$baseLayer}&layers={$layers}¢er={$center}&zoom={$zoom}&size={$size}&bbox={$bbox}&sql={$sql}\" " . $file;
//die($cmd);
exec($cmd);
switch ($type) {
case "png":
$res = imagecreatefrompng($file);
break;
case "jpg":
$res = imagecreatefromjpeg($file);
break;
}
if (!$res) {
$response['success'] = false;
$response['message'] = "Could not create image";
$response['code'] = 406;
header("HTTP/1.0 {$response['code']} " . \app\inc\Util::httpCodeText($response['code']));
echo \app\inc\Response::toJson($response);
exit;
}
header('Content-type: image/png');
imageAlphaBlending($res, true);
imageSaveAlpha($res, true);
imagepng($res);
// Cache script
$data = ob_get_contents();
$Cache_Lite->save($data, $id);
ob_get_clean();
}
header("Content-type: image/png");
echo $data;
exit;
}
示例12: getPage
public function getPage($pageID, $apply_shortcodes = false)
{
$options = array('caching' => true, 'cacheDir' => APP_ROOT . 'app/' . APP_NAME . '/cache/', 'lifeTime' => 3600, 'fileNameProtection' => true);
$cache = new Cache_Lite($options);
$cacheName = 'wptool' . self::$wp_root . $pageID . '_' . $apply_shortcodes;
if ($_cachedData = $cache->get($cacheName)) {
return unserialize($_cachedData);
}
$c = self::_fetchPage($pageID, $apply_shortcodes);
$cache->save(serialize($c));
return $c;
}
示例13: put
/**
* Stores data into cache
*
* @param string $id
* @param mixed $data
* @param array (optional) $tags
* @param int (optional) $lifetime
* @return bool
*/
public function put($id, $data, array $tags = null, $lifetime = null)
{
if (($lifetime = (int) $lifetime) <= 0) {
$lifetime = null;
} elseif ($lifetime <= 2592000) {
$lifetime += VIVVO_START_TIME - 1;
} else {
$lifetime -= 1;
}
$this->cache_lite->setLifeTime($lifetime);
return $this->cache_lite->save($data, md5($id), 'vivvo_cache') === true;
}
示例14: getCachedContent
function getCachedContent($url, $anonfunction)
{
$options = array('lifeTime' => 86400, 'pearErrorMode' => CACHE_LITE_ERROR_DIE);
$cache = new Cache_Lite($options);
if ($data = $cache->get($url)) {
return $data;
} else {
// No valid cache found (you have to make and save the page)
$data = $anonfunction;
$cache->save($data);
return $data;
}
}
示例15: array
function _list_output()
{
$sm = vivvo_lite_site::get_instance();
$content_template = $this->load_template($this->_template_root . 'content.xml');
require_once VIVVO_FS_FRAMEWORK . '/PEAR/Lite.php';
$options = array('cacheDir' => VIVVO_FS_ROOT . 'cache/', 'lifeTime' => 600);
$cache_manager = new Cache_Lite($options);
$web_stat = $cache_manager->get('web_statistics', 'admin');
if (empty($web_stat)) {
$web_stat = $this->web_statistics();
$cache_manager->save($web_stat, 'web_statistics', 'admin');
}
$system_stat = $cache_manager->get('system_statistics', 'admin');
if (empty($system_stat)) {
$system_stat = $this->system_statistics();
$cache_manager->save($system_stat, 'system_statistics', 'admin');
}
$today_stat = $cache_manager->get('today_statistics', 'admin');
if (empty($today_stat)) {
$today_stat = $this->today_statistics();
$cache_manager->save($today_stat, 'today_statistics', 'admin');
}
$signup_stat = $cache_manager->get('signup_statistics', 'admin');
if (empty($signup_stat)) {
$signup_stat = $this->signup_statistics();
$cache_manager->save($signup_stat, 'signup_statistics', 'admin');
}
$content_template->assign('web_statistics', $web_stat);
$content_template->assign('system_statistics', $system_stat);
$content_template->assign('today_statistics', $today_stat);
$content_template->assign('signup_statistics', $signup_stat);
$log_file = VIVVO_FS_ROOT . VIVVO_FS_FILES_DIR . 'logs/' . date('Y') . '-' . date('m') . '.txt';
$handle = @fopen($log_file, "r");
if ($handle) {
$i = 0;
while (!feof($handle) && $i < 10) {
$buffer .= str_replace(',', ', ', str_replace('"', '', fgets($handle, 4096)));
$i++;
}
fclose($handle);
$content_template->assign('activity_log', strval($buffer));
} else {
$content_template->assign('activity_log', strval(''));
}
$content_template->assign('activity_log_link', strval(VIVVO_URL . VIVVO_FS_ADMIN_DIR . 'download.php?file=' . VIVVO_FS_FILES_DIR . 'logs/' . date('Y') . '-' . date('m') . '.txt'));
return $content_template;
}