2012-03-12 47 views
-3

我必須從Db回收一些數據,並應將其放入緩存。我不知道這一點,我是非常基本的學習者的Zend框架。我正在使用zend framework1.11.1和wamp服務器。任何一個可以幫助我如何開始,如何proced任何tutoria.pls幫我我需要幫助來執行緩存在zend框架

+0

那麼,明顯的地方就是[zend緩存文檔](http://framework.zend.com/manual/en/zend.cache.html)。 – vascowhite 2012-03-12 14:52:31

回答

0

這一個似乎很相關的,你想要什麼:

http://www.joeyrivera.com/2009/caching-using-phpzend_cache-and-mysql/

+1

@curise:此鏈接來自Google搜索「zend緩存入門」。你會發現SO社區總的來說很樂意提供幫助,但只有當他們相信你自己先採取了這些基本步驟時纔會這樣。 – 2012-03-12 14:56:53

+0

謝謝你,這給了緩存非常好的想法,但在那些網址中,他使用普通的類而不是zend框架可以請告訴我如何使用resource.cache以及如何放入application.ini文件以及流程如何 – curise 2012-03-13 04:26:09

+0

[Cachemanager Appilcation Resource]的手冊頁(http://framework.zend.com/manual/en/zend.application.available-resources.html#zend.application.available-resources.cachemanager)幾乎說明了這一點所有。 – 2012-03-13 09:24:24

0

這是關於Zend_Cache是​​如何工作的一個示例:您需要一個在本地主機上工作的memcached系統,或者您可以使用Backend_File將緩存的項目存儲在文件中。

#在你的引導定義這個

// configure caching frontend strategy 
    $oFrontend = new Zend_Cache_Core(
     array(
    'caching' => true, 
      'automatic_serialization' => true, 
      'ignore_user_abort' => true, 
      'lifetime' => 3600 
     ) 
    ); 

// configure caching backend strategy 
    $oBackend = new Zend_Cache_Backend_Memcached(
     array(
      'servers' => array(
       array(
        'host' => "127.0.0.1", 
        'port' => "11211", 
       ) 
      ), 
      'compression' => true 
     ) 
    ); 

// getting a Zend_Cache_Frontend_Page object 
    $cache = Zend_Cache::factory($oFrontend, $oBackend); 

    Zend_Registry::set('cache', $cache); 

#,然後然後,在你的控制器,你可以按如下方式使用它:

$cache = Zend_Registry::get('cache'); 
    # save item in memcached 
    $data = array(1,2,3,4,5); 
    $cache->save($data, "cache_name"); 

    # load item from your cache 
    print_r($cache->load("cache_name")); 

然後,您可以在Zend Framework的聯機文檔查看所有前端,後端和可用選項,以便根據您的特定需求進行配置。

1

Zend Cache提供一種非常簡單的方式將數據存儲在緩存中並提高速度。 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緩存通用類型的核心方法File參數是定義緩存的存儲方式,在那裏存儲緩存的記錄然後第二個和第四個是前端和後端。

現在使用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格式。