|
本帖最后由 周大胖子 于 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);
- }
复制代码
|
|