zend注册表VS zend Cache

时间:2015-02-04 09:30:29

标签: php zend-framework

zend注册表和zend Cache之间有什么区别,我们应该在哪些场景中使用它们。 下面的内容让我很困惑。

$cache = Zend_Registry::get('cache');

1 个答案:

答案 0 :(得分:1)

我猜你因为Zend文档中的例子而感到困惑。他们将缓存对象保存在注册表中以供以后使用。

<强>目的:

  • Zend Registry 适用于全球范围。就像在PHP中使用define变量一样。您可以在注册表中保存变量(或数组或对象),然后在需要时从任何地方(控制器,视图,模型等)获取它。

  • Zend Cache 用于提高应用程序性能和优化。

<强>差异:

  • Zend Registry 该值仅适用于当前页面请求 。当前流程结束时,该值为销毁

  • Zend Cache 该值适用于即将发布的网页请求该值为未销毁当前进程结束时(值保存在文件中)。

示例:

  • Zend Registry :设置数据库连接一次,在注册表中添加连接,然后每次在任何文件中需要连接时,只需从注册表中获取。

    < / LI>
  • Zend Cache :您从数据库中获取了一个需要5秒钟才能处理的大表(假设此示例中的表内容永远不会更改)。将其保存在缓存中。对于即将到来的请求,不是从数据库中再次获取表,而是从缓存中获取它以使此过程更快,这将花费0.1秒。