【问题标题】:Yii Cache Method RecordingYii 缓存方法记录
【发布时间】:2011-10-14 23:25:24
【问题描述】:

我刚开始在 Yii 中工作,我正在尝试向 CClientScript 添加一些功能,在开始覆盖之前,我试图了解它所做的一切,这样我以后就不会因为不包含某些东西或包括它错了。

我在注册脚本/文件时发现了一个方法调用:

$this->recordCachingAction('clientScript','registerScriptFile',$params);

在一个案例中,我已经通过几个类沿着这条链向下到 COutputCache,并看到了 replayActions 函数。这是干什么用的?有什么需要这样做的吗,还是我怀疑它只是一个有用的调试功能来跟踪缓存?

Tl;博士:
为什么要记录缓存操作以供以后重放?

【问题讨论】:

    标签: caching yii


    【解决方案1】:

    此方法保存缓存方法的输出。在您的示例中,CClientScript->registerScriptFile() 的结果输出将被缓存(显然,如果启用了缓存)并保存以供以后调用。稍后,如果缓存仍然有效并且再次调用CClientScript->registerScriptFile()(使用相同的参数),则不会再次生成输出,而是从缓存中获取。

    基本上这是基于方法的模块化缓存(大多数影响输出的方法都被缓存了)。当然你可以在你的模型、控制器等中使用它。

    【讨论】:

    • 那么当启用缓存时,每个函数调用都会查询缓存?在没有输出的方法中使用这个函数有什么用?还是我误解了它在缓存什么?
    • 它是缓存结果,不一定是数据发送到标准输出。
    【解决方案2】:

    Johnatan 的回答是对它所做的什么 的正确且良好的描述。但我对 如何 在这里获得了更详细的见解(这正是我所寻找的):

    YiiFramework.com Forum Topic

    【讨论】:

      猜你喜欢
      • 2016-12-10
      • 2012-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-20
      • 2016-01-01
      • 1970-01-01
      相关资源
      最近更新 更多