2013-02-04 37 views

回答

0

設置緩存:

$frontend= array(
    'lifetime' => 60, 
    'automatic_serialization' => true 
); 

$backend= array(
    'cache_dir' => 'D:\cache', 
); 

$cache = Zend_Cache::factory('core', 'File', $frontend, $backend); 
Zend_Registry::set('cache',$cache); 

使用它來設置:

private function setCached($key, $data) 
{ 
    $cache = Zend_Registry::get('cache'); 
    $cache->save($data, $key); 
} 

使用它來獲取:

private function getCached($key) 
{ 
    $cache = Zend_Registry::get('cache'); 
    if(!$result = $cache->load($key)) 
    { 
     return false; 
    } 
    else 
    { 
     return $result; 
    } 
} 
0

的Zend緩存提供了一個非常簡單的方法來存儲數據在緩存中並提高速度。 Zend使用前端和後端來緩存。 前端對訪問或操作緩存很有用。 後端對於在File,Memcache,Sqlite等中存儲數據非常有用。

首先通過在引導文件中創建函數來初始化前端和後端引導文件。

保護的函數_initCache(){

$frontend= array(
     'lifetime' => 7200, 
     'automatic_serialization' => true 
    ); 

    $backend= array(
     'cache_dir' => '../application/tmp/', 
    ); 

    $cache = Zend_Cache::factory('core', 
      'File', 
      $frontend, 
      $backend 
    ); 
    Zend_Registry::set('cache',$cache); 
} 

然後使用Zend緩存工廠定義所述高速緩存對象。 參數核心定義了zend緩存通用類型的核心手段 文件參數是定義緩存的存儲方式,在那裏存儲緩存的記錄 然後第二個和第四個用於前端和後端。

現在使用Zend註冊表中註冊該緩存陣列,這樣就可以使用在任何控制器,型號等

在下面定義的任何控制器或任何模型代碼要使用的數據緩存。

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

if(!$result1 = $cache->load('mydata')) { 
     echo 'caching the data…..'; 
    $data=array(1,2,3); 
    $cache->save($data, 'mydata'); 
} else { 
    echo 'retrieving cache data…….'; 
    Zend_Debug::dump($result1); 
} 

首先在上面的代碼中我們得到了緩存數組。 現在如果未設置結果1,則緩存完成意味着文件在您在後端數組中定義的路徑中生成

對於下次頁面加載,將從緩存數據存儲所在的文件中檢索數據。

您可以按照定義的路徑檢查文件。

該文件中的數據是json格式。