PHP緩衝詳談

來源:互聯網
上載者:User
關鍵字 PHP緩衝詳談

大家會問什麼是緩衝!能幹什麼!其實緩衝相當於記憶體。儲存一段時間!

緩衝就是我們執行東西時候不用在執行資料庫了。直接執行我們的緩衝就OK了

一般來說,緩衝的目的是把資料放在一個地方讓訪問的更快點,毫無疑問,記憶體是最快的,但是,幾百M的資料能往記憶體放麼?這不現實,當然,有的時候臨時放如伺服器緩衝,如ob_start()這個快取頁面面開啟的話在傳送檔案頭之前頁面內容都被緩衝在記憶體中,知道等頁面輸出自動清楚或者等待ob_get_contents的返回,或者被ob_end_clean 顯示的清除,這在靜態頁面的產生中能很好的利用,在模板中能得到很好的體現,我的這篇文章深入的討論了:談php產生靜態頁面,這是一種方式,但這是臨時性的,不是解決我們問題的好方法.

可以這麼說:緩衝一般分為頁面緩衝和資料緩衝。ADODB緩衝是資料緩衝.smarty是頁面緩衝。 adodb緩衝是

<?php }
include(./adodb/adodb.inc.php);
$ADODB_CACHE_DIR='tmp';
$db=NewADOConnect('MySQL');
$db->connect('localhost','root','123456','mysql');
$sql="select * from user";
$db->cacheexecute(300,$sql);
?>

這樣在TMP目錄下產生了緩衝!(快取檔案是序列化的資料。) 當下次在執行的時候,我們直接從緩衝裡面讀取資料。SMARTY緩衝:


?php
require('./smarty/Smarty.class.php');
$smarty = new Smarty; Z)
$smarty->caching = true;
if(!$smarty->is_cached('index.tpl'))
  // No cache available, do variable assignments here. )
  $contents = get_database_contents();
  $smarty->assign($contents);
}
$smarty->display('index.tpl'); )
?>

這個首先判斷是否有這個快取檔案!沒有直接連結資料庫!有的話!執行DISPLAY。就是讀取緩衝。大家看到上面的2個例子!對緩衝有很大的理解了吧

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.