本文实例讲述了Zend Framework缓存Cache用法。分享给大家供大家参考,具体如下:
<?phprequire 'Zend/Loader.php';Zend_Loader::loadClass('Zend_Cache');Zend_Loader::loadClass('Zend_Config');Zend_Loader::loadClass('Zend_Registry');$config = new Zend_Config_Ini('configsecr/config.ini');define('CACHE_DIR',FDROOT.'/'.'tmp/');/*配置文件config.ini:[cache]cache.needcache=1cache.frontend.name=Corecache.frontend.lifetime=7200cache.frontend.automatic_serialization=1cache.backend.name=File*//*选项参考手册*//*建立cache对象*/$frontendOptions = $config->cache->cache->frontend->toArray();$backendOptions = $config->cache->cache->backend->toArray();$frontendName = $frontendOptions['name'];unset($frontendOptions['name']);$backendName = $backendOptions['name'];unset($backendOptions['name']);if (empty($backendOptions['cache_dir'])){ $backendOptions['cache_dir'] = CACHE_DIR;}$_cache = Zend_Cache::factory($frontendName, $backendName, $frontendOptions, $backendOptions);Zend_Registry::set('cache', $_cache);/*使用cache*/$viewRenderer = $_cache->load('viewRenderer'); //试图从缓存加载变量if (!$viewRenderer instanceof Something)//加载不成功{ $viewRenderer = new Something(); /*some other work*/ $_cache->save($viewRenderer, 'viewRenderer');//保存变量到换存}/*这只是一种应用,还可以轻松缓存整页;也可将缓存存到数据库或者内存。*/?>