在组件中使用缓存的Cakephp

在组件中使用缓存的Cakephp,cakephp,caching,components,Cakephp,Caching,Components,我使用的是CakePHP2.3,我想在我的几个控制器中执行许多常见的计算。所以我在appcontroller中编写了这些函数,并缓存了一些数据。。 但是我的appController会变得肥胖。。所以我创建了一些组件来执行这些操作。。我不知道我的方法是对的还是错的。。?请建议 我想在我的组件中使用缓存,我尝试了以下代码。但是没有缓存任何内容 public $helpers =array('Cache'); 及 请帮助我如何在组件中使用缓存 如何在应用程序中更常见的函数中有效地使用ca

我使用的是CakePHP2.3,我想在我的几个控制器中执行许多常见的计算。所以我在appcontroller中编写了这些函数,并缓存了一些数据。。 但是我的appController会变得肥胖。。所以我创建了一些组件来执行这些操作。。我不知道我的方法是对的还是错的。。?请建议

  • 我想在我的组件中使用缓存,我尝试了以下代码。但是没有缓存任何内容

        public $helpers =array('Cache');
    
  • 请帮助我如何在组件中使用缓存
  • 如何在应用程序中更常见的函数中有效地使用cakephp中的组件类。。当我在appController中编写这些函数时,它会加载所有函数,因此根据内存的角度,如何有效地使用组件

  • Model
    TFmStation
    是具有上述逻辑的最佳位置。组件用于通用功能,如UploadComponent、EmailComponent、RecaptchaComponent等。如果您的逻辑部分与模型有关,那么它应该进入该模型


    从AppController.php调用模型的方式与调用组件的方式类似。

    如果您只想为一个页面生命周期(一个请求和响应)保存数据,我建议您实现一个模型(例如,
    计算
    )包含这些计算的业务逻辑,您可以访问每个控制器。如果您希望通过多个请求保存与客户端分离的计算数据,可以将计算数据保存在会话或cookie中。最后,计算数据可以通过浏览器中的JavaScript保存在客户端。如果需要这些计算数据集在服务器端进行计算,可以通过ajax发送它们。注意:不要在客户端存储合理的数据(例如密码)。@SimonseSourceCoder非常好的建议。帮助我很多。@SimonseSourceCoder问题是,我有7个不经常更改的表数据,所以我认为最好的方法是在开始时加载这些数据。我将其保存在appcontroller中并缓存这些数据。但是我需要添加大约20个函数来操作这些数组并得到结果。在appcontroller中编写20个函数不是很好,它会变得油腻。这就是我对这些函数进行分类并创建3个组件的原因,因此在需要的地方,我可以加载这些组件并调用这些函数。但我无法访问组件中的缓存数据?有办法吗?创建自定义类和函数怎么样?
         $result = Cache::read('fm_data', 'long');
           if (!$result) {
           $result =
     $this->TFmStation->find('all',array('contain'=>array('TLocation',
                'TLanguage','TMediaOrg','TContactPerson',
                        'TAddress','TFmProgram'=>array('TTargetGroup'))));
                           Cache::write('fm_data', $result, 'long');
                    }
     return $result;