老莫粗谈 PHP缓存机制
本帖最后由 周大胖子 于 2018-11-29 18:32 编辑一:先谈谈 缓存的意义
缓存是干嘛玩意的呢:胖爷是这样理解的,总不能啥都去查表吧,当然是去查缓存,缓存没有 就去查表,然后继续读取缓存, 没错 就是这么任性。当然 并不是全部这样,具体情况具体对待,但是查询类的倒是的确可以这么做。能极快的提高服务器效率。降低服务器压力。
二:再来个分类 ----网上众说不一啊: 我自己瞎总结一个:按照介质分类:【不要问我为啥是介质我喜欢 谁咬我 反正我自己写给自己看的胖爷说叫介质 那就叫介质】
1.缓存存在文件里;
2.缓存存在内存中;
3.缓存存在数据库表里;
三 : 缓存的东西:
1. 数据库读取来的数据;
2.一些配置参数;
参考文献:https://www.tongpankt.com/3334
参考文献:https://blog.csdn.net/jianai0602/article/details/78066194
贴个代码 就说是 实际应用吧,以上全部可以省略 记得引入 use think\Cache; //缓存类
public function menus()
{
$where = function ($query){
$query->where('status','=',1);
};
// 读取缓存
if(Cache::has('lm_menu')){
$menus= Cache::get('lm_menu');//如果又缓存则在缓存中读取数据
}else{
$menus = Oamenus::all();//获取数据
// 处理pid
foreach ($menus as $key=>$value){
if($value['pid'] ==0){
$value['pid'] = ' }
foreach ($menus as $key2=>$value2){
if($value['pid']==$value2['id']){
$value['pid'] = $value2['title'];
}
}
}
Cache::set('lm_menu', $menus,3600); //没有缓存则链接数据表获取数据并写入缓存
}
// 条数
$count = count($menus);
downjson(0,'获取菜单list成功',$count,$menus);
}
页:
[1]