注意:首先这个代码是写在控制器中的! $cache=Cache::getInstance('File');就是开启缓存的标志
$cache->set('username','孙亚龙',10); //设置一个变量username叫孙亚龙,在10秒内缓存起来
$cache->get('username'); //获得缓存起来的username变量
serialize("数组"),将一个数组序列化成字符串(为什么要序列化呢?就是因为字符串比数组咱内存小)
unserialize('被序列化的数组');反序列化,将字符串有反序列化成数组
<?php
header("Content-Type:text/html; charset=utf-8");
class CacheAction extends Action{
function cache(){
$cache=Cache::getInstance('File');
$cache->set('username','孙亚龙',10); //设置了username这个变量,缓存在Runtime目录的temp目录下,缓存时间是10秒
//echo $cache->get('username');
$cache->set('people',array('name'=>'xiaobai','age'=>'23','gender'=>'wan'),12);
$this->display();
}
function test(){
$cache=Cache::getInstance('File');
echo "注意十秒后刷新页面,同时看着runtime/temp的缓存文件的存在与消失"."<br />";
echo $cache->get('username'); //获取缓存起来的变量username
dump($cache->get('people'));
}
function rm(){
$cache=Cache::getInstance('File');
$cache->rm('people'); //rm删除缓存变量
}
function update(){
$cache=Cache::getInstance('File');
$cache->set('username','sunyalong',10); //修改缓存值相当于重新给username赋值
}
function add(){
$arr=array('name'=>'syl','age'=>'23');
$str=serialize($arr); //序列化serialize序列化它是php中的一种将数组序列化成一个字符串
echo $str;
echo "<br />序列化可以将一个数组的信息序列化之后,存到一个字段中!";
$date=array('username'=>$str,'password'=>'123456');
$model=M('usertable');
if($model->add($date)){
echo "插入数据库成功!";
}else{echo "插入数据失败!";}
}
function select(){
$model=M('usertable');
$rows=$model->field('username')->select();
$row=unserialize($rows[1]['username']); echo "反序列化 将数据库中存好的已经序列化的信息,反序列化后成为之前的数组<br />";
dump($row);
echo $row['name'].'------'.$row['age'];
//dump($rows);
}
}
?>