zend注册表和zend Cache之间有什么区别,我们应该在哪些场景中使用它们。
下面的内容让我很困惑。
$cache = Zend_Registry::get('cache');
答案 0 :(得分:1)
我猜你因为Zend文档中的例子而感到困惑。他们将缓存对象保存在注册表中以供以后使用。
<强>目的:强>
Zend Registry 适用于全球范围。就像在PHP中使用define变量一样。您可以在注册表中保存变量(或数组或对象),然后在需要时从任何地方(控制器,视图,模型等)获取它。
Zend Cache 用于提高应用程序性能和优化。
<强>差异:强>
Zend Registry :该值仅适用于当前页面请求 。当前流程结束时,该值为销毁。
Zend Cache :该值适用于即将发布的网页请求。该值为未销毁当前进程结束时(值保存在文件中)。
示例:强>
Zend Registry :设置数据库连接一次,在注册表中添加连接,然后每次在任何文件中需要连接时,只需从注册表中获取。
< / LI>Zend Cache :您从数据库中获取了一个需要5秒钟才能处理的大表(假设此示例中的表内容永远不会更改)。将其保存在缓存中。对于即将到来的请求,不是从数据库中再次获取表,而是从缓存中获取它以使此过程更快,这将花费0.1秒。