TP中的数据缓存
(1)数据缓存
非常重要的概念:我们能不从数据库获得数据尽量不要调用数据库
因为从数据库获得数据效率是最低的
第一次访问的时候,我可以将数据缓存起来,下次在访问的时候,直接读取的是缓存文件
数据缓存,是将从数据库获得的数据保存到一个介质上,需要的时候直接从这个介质上读取
这些介质包括:
File(保存到文件中),Memcache(内存中,效率特别高)
那么如何将数据保存进去,又如何获得呢?
我们通过ThinkPHP的 Cache类来实现的:
我们通过调用Cahce类的方法获得对象,在通过这个对象来实现不同介质的数据的处理
通过传递不同的参数获得不同的数据处理对象
例:
config.php
/*页面缓存*/
"HTML_CACHE_ON" => true,
"HTML_CACHE_RULES" =>array(
"show"=>array("{:action}",1000),
vew.php
//对缓存文件进行增删改查,只有生成缓存之后,才能进行查看,删除,更新缓存
//设置缓存
public function cache2(){
$cache=Cache::getInstance("File");
$cache->set("passwd","xiao",8);//设置一个缓存,8秒后消失,只有查看后8秒才消失
var_dump($cache->set("people" ,array("name"=>"zhanshan")));
var_dump($cache->set("time",date("Y-m-d H:i:s")));
}
//缓存的查看
public function getCache(){
$cache=Cache::getInstance("File");
$password=$cache->get("passwd");
var_dump($password);
var_dump($cache->get("people"));
}
//删除缓存
public function rm(){
$cache=Cache::getInstance("File");
$cache->rm("people");
}
//修改缓存
public function revise(){
$cache=Cache::getInstance("File");
$cache->set("people",array("name"=>"xittttti","age"=>"22"));
}