zoukankan      html  css  js  c++  java
  • phalcon: 缓存片段,文件缓存,memcache缓存

    几种缓存,需要用到前端配置,加后端实例配合着用

    片段缓存:

    public function indexAction()
        {
            //渲染页面
            $this->view->setTemplateAfter('common');
    
            //缓存片段
    //前端配置 $frontcache = new PhalconCacheFrontendOutput(array( "lifetime" => 86400 ));
          //后端处理 $cache = new PhalconCacheBackendFile($frontcache, array( "cacheDir" => "../app/cache/" )); //查询片段是否存在 $content = $cache->start("index.pthm"); if ($content == null) { echo date("r"); $this->view->pick("index/index"); //缓存片段 $cache->save(); } else { echo $content; } }

      

    文件缓存:

    public function lastAction()
        {
            //数据缓存
            //前端配置
            $frontcache = new PhalconCacheFrontendData(array(
                "lifetime"=>86400
            ));
            //后端实例
            $cache = new PhalconCacheBackendFile($frontcache, array(
                'cacheDir'=>'../app/cache/'
            ));
            $cacheKey = 'customer_10';
            $customer = $cache->get($cacheKey);
            //在3600有效期内读取缓存
           // $customer = $cache->get($cacheKey, 3600);
            if($customer == null)
            {
                $customer = SysCustomer::find(array(
                    "limit"=>10
                ))->toArray();
                //保存缓存
                $cache->save($cacheKey, $customer);
                //单独设置缓存的有效期
                // $cache->save($cacheKey, $customer,3600);
            }
            var_dump($customer);
        }
    

      

    注意:MainTask.php

    如果你是命令行运行MainTask.php,在用文件缓存的时候,如果设置的是cacheDIR='/',以windows为例,我的php盘是f:,那么生成的缓存文件在 f: 根目录下

    memcache缓存,本例是windows下:

    public function memcacheAction()
        {
            //memcache缓存
            //前端配置有效期
            $frontcache = new PhalconCacheFrontendData(array(
                "lifetime"=>86400
            ));
            //后端实例化
            $memcache =  new PhalconCacheBackendMemcache($frontcache, array(
                "servers" => array(
                    array(
                        "host" => "127.0.0.1",
                        "port" => "11211",
                        "weight" => "1"
                    )
                )
            ));
    
           $mydata = $memcache->get('my-data');
            if($mydata == null) {
                $mydata = array(1,2,3,4,5);
                //保存缓存
                $memcache->save('my-data', $mydata);
                echo "--";
            }
            var_dump($mydata);
    
    
    
    
    
        }
    

      

  • 相关阅读:
    el-upload文件上传组件
    vue 自定义指令input表单的数据验证
    vue-resourse简单使用方法
    go语言基本运算符
    第4课
    第3课
    第2课
    第1课
    第0课
    第0课
  • 原文地址:https://www.cnblogs.com/achengmu/p/5951701.html
Copyright © 2011-2022 走看看