Heim > php教程 > php手册 > Hauptteil

ZF框架Zend_Cache 缓存基本使用方法

WBOY
Freigeben: 2016-06-06 19:33:12
Original
1092 Leute haben es durchsucht

学习练习 Zend Framework ?php/*Zend_Cache 文件缓存的基本操作*/require_once("Zend/Loader.php");//载入Zend缓存类(Zend_Cache)Zend_Loader::loadClass("Zend_Cache");//前端缓存设置(生命周期、是否序列化)$Foptions = array('lifetime' = 60 , 'automtic_

学习练习
Zend Framework
<?php
/*Zend_Cache 文件缓存的基本操作*/

require_once("Zend/Loader.php");
//载入Zend缓存类(Zend_Cache)
Zend_Loader::loadClass("Zend_Cache");
//前端缓存设置(生命周期、是否序列化)
$Foptions = array('lifetime' => 60 , 'automtic_Serialization' => true);
//后端缓存设置(缓存存放路径)
$Boptions = array('cacheDir' => 'cache');
//开启缓存模式,(Core[核心],File[文件],前端缓存配置信息,后端缓存配置信息)
$Cache = Zend_Cache::factory('Core','File',$Foptions,$Boptions);
//判断缓存是否存在,如果存在则载入缓存load('String'[缓存名称])
if ($Result = $Cache -> load('cache_two')) 
{
	echo "缓存已经存在!<br>";
	print_r($Result);
}
else
{
	//如果缓存不存在则读取文件,并将文件内容写入湖缓存
	echo "缓存不存在!<br>";
	$Filename = 'temp.txt';
	$Fopen    = fopen($Filename,'r');
	$Result   = fread($Fopen, filesize($Filename));
	fclose($Fopen);
	//保存缓存方式load($Result[读取资源],'缓存名称')
	$Cache -> save($Result,'cache_two');
	print_r($Result);
}
?>
Nach dem Login kopieren
<?php
require_once("Zend/Loader.php");
Zend_Loader::loadClass("Zend_Cache");
Zend_Loader::loadClass("Zend_Db");
//------------数据库连接配置------------//
$Config = array('host' => '127.0.0.1' ,
				'username' => 'root' , 
				'password' => '111' , 
				'dbname' => 'test',
				'profiler' => "true"
				);
$Db = Zend_Db::factory('PDO_Mysql',$Config);
$Table = 'sanguo';
$Select = $Db -> select();
$Select -> from($Table,'*');
$Select -> Where("s_sheng='河北'");
$Result = $Db -> fetchAll($Select);
//-----------------end------------//

//---将数据库读取的资源以Output方式写入缓存---//
$Foptions = array('lifetime' => 3600 , 'automtic_Serialization' => true);
$Boptions = array('cacheDir' => 'cache');
$Cache = Zend_Cache::factory('Output','File',$Foptions,$Boptions);
if (!$Cache -> start('hebei10')) 
{
	echo "<table border='1' width='500'>";
	foreach ($Result as $key => $value) 
	{
		echo "<tr>";
		foreach ($value as $key2 => $value2) 
		{
			echo "<td>". $value2 . "</td>";
		}
		echo "</tr>";
	}
	echo "</table>";
	echo "这里是缓存时间:" . date("Y-m-d H:i:s") ."<br>";
	$Cache -> end();
}
//-----用load()方法调用并输出缓存------//
echo "<hr>这里没有被缓存:" . date("Y-m-d H:i:s") . "<br>";
$Result2 = $Cache -> load('hebei10');
echo $Result2;
?>
Nach dem Login kopieren
<?php
require_once("Zend/Loader.php");
Zend_Loader::loadClass('Zend_Cache');
$Foptions = array('lifetime' => 3600 , 'automtic_Serialization' => true);
$Boptions = array('cacheDir' => 'cache');
$Cache = Zend_Cache::factory('Function','File',$Foptions,$Boptions);

function GongBeiShu($num1,$num2)
{
	for ($i=$num1; $i <= $num2 ; $i++) 
	{ 
		if ($i%3 == 0) 
		{
			$Result[] = $i;
		}
	}
	return $Result;
}

$Cache -> call('GongBeiShu',array(1,50),array('temp_GongBeiShu'));
$Date = $Cache ->call('GongBeiShu',array(1,50),array('temp_GongBeiShu'));
print_r($Date);
?>
Nach dem Login kopieren
<?php
/*ZF缓存类前端Class的使用*/

require_once("Zend/Loader.php");
Zend_Loader::loadClass('Zend_Cache');
//自定义一个测试用的类
class test
{
	public static function sum($num1,$num2)
	{
		return ($num1 + $num2);
	}
	public function cheng($num1,$num2)
	{
		return ($num1 * $num2);
	}
}
//前端配置:cached_entity所对应的值为类名
/*注:如果类中存在非静态方法,赋值时必须实例化,
否则在调用时只能调用静态方法 例如:
'cached_entity' => new test() 可以调用任何权限方法
or
'cached_entity' => 'test' 只能调用静态方法
*/
$Foptions = array('cached_entity' => new test());
//开启缓存(前端,后端,前端配置)
$Cache = Zend_Cache::factory('Class','File',$Foptions);
//第一次调用被写入缓存,第二次调用才会返回;
$Cache -> sum(9,9);
$Cache -> cheng(9,9);
echo "sum()方法返回结果为:" . $Cache -> sum(3,3) . "<br>";
echo "cheng()方法返回结果为:" . $Cache -> cheng(2,7) . "<br>";
?>
Nach dem Login kopieren
$Cache = Zend_Cache::factory('Core','File',$Foptions,$Boptions);
if ($Result = $Cache -> load('cache_two')) 
{
	echo "缓存已经存在!<br>";
	print_r($Result);
	$Cache -> clean('all');
	echo "<br>";
	echo "缓存已经清除!<br>";
}
Nach dem Login kopieren
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!