Thinkphp快速缓存

2019-05-06  本文已影响0人  会飞的兔子zy

将不经常更新的内容写入缓存,降低数据库的频繁操作,降低服务器压力。
thinkphp提供了快速缓存方法(F)方法

F('data',$Data);//创建缓存 
$Data = F('data');//读取缓存
F('data',NULL);//删除缓存

代码实例

//判断是否有缓存,如果有则读取缓存,否则则读取数据并创建缓存
if(F('Category_s')){
            $bigCategory=F('Category_s');
        }else{
            $bigCategory = $this->category->order("sort asc")->where("parent_id=0")->select();
            foreach ($bigCategory as $key => $value) {
                $id = $value['id'];
                $smallCategory = $this->category->order("sort asc")->where("parent_id='$id'")->select();
                $bigCategory[$key]['children'] = $smallCategory;
            }
            F('Category_s',$bigCategory);
        }

常规读取的时候都会从缓存读取,此时需要注意的是,当新增或者编辑类别的时候需要在完成时清除缓存,否则会导致前台不更新.

function addCategory()
    {
        $category = $this->category->where("parent_id=0")->select();
        $this->assign('category', $category);
        if (IS_POST) {
              $mCategory=D('Category');
              if(!$mCategory->create()){
                  $this->error($mCategory->getError(),U('index'));
              }else{
                  F('Category_s',NULL);//这里将缓存清除
                  $mCategory->add();
                  $this->success('添加分类成功',U('index'));
              }
        } else {
            $this->display();
        }
    }

编辑同理.
以上就是thinkphp的快速缓存简单的用法.

上一篇 下一篇

猜你喜欢

热点阅读