国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

directory search
Array Array Helper Benchmarking Benchmarking Class Caching Caching Driver Calendaring Calendaring Class CAPTCHA CAPTCHA Helper Config Config Class Cookie Cookie Helper Database Connecting to your Database Custom Function Calls Database Caching Class Database Configuration Database Forge Class Database Metadata Database Quick Start: Example Code Database Reference Database Utility Class DB Driver Reference Generating Query Results Queries Query Builder Class Query Helper Methods Transactions Date Date Helper Directory Directory Helper Download Download Helper Email Email Class Email Helper Encrypt Encrypt Class Encryption Encryption Library File File Helper File Uploading File Uploading Class Form Form Helper Form Validation Form Validation FTP FTP Class Functions compatibility_functions common_functions HTML HTML Helper HTML Table HTML Table Class Image Manipulation Image Manipulation Class Inflector Inflector Helper Input Input Class Javascript Javascript Class Language Language Class Language Helper Loader Loader Class Migrations Migrations Class Number Number Helper Output Output Class Pagination Pagination Class Path Path Helper Security Security Class Security Helper Session Session Library Shopping Cart Shopping Cart Class Smiley Smiley Helper String String Helper Template Parser Template Parser Class Text Text Helper Trackback Trackback Class Typography Typography Class Typography Helper Unit Testing Unit Testing Class URI URL User Agent XML XML-RPC and XML-RPC Server Zip Encoding Zip Encoding Class XML-RPC and XML-RPC Server Classes XML Helper User Agent Class URL Helper URI Class
characters

數(shù)據(jù)庫緩存類允許您將查詢緩存為文本文件,以減少數(shù)據(jù)庫負載。

重要

當啟用緩存時,該類由數(shù)據(jù)庫驅動程序自動初始化。不要手動加載這個類。

重要

使用緩存時,并非所有查詢結果函數(shù)都可用。請仔細閱讀這一頁。

啟用緩存

緩存分三個步驟啟用:

  • 在您的服務器上創(chuàng)建一個可寫目錄,在那里可以存儲緩存文件。

  • 在應用程序/config/database.php文件中設置緩存文件夾的路徑。

  • 通過在application/config/database.php文件中設置首選項,或者手動地啟用緩存特性,如下所述。

一旦啟用,每當加載包含數(shù)據(jù)庫查詢的頁面時,緩存將自動發(fā)生。

緩存是如何工作的?

CodeIgniter的查詢緩存系統(tǒng)在查看頁面時動態(tài)發(fā)生。啟用緩存時,首次加載網(wǎng)頁時,查詢結果對象將被序列化并存儲在服務器上的文本文件中。下一次加載頁面時,將使用緩存文件而不是訪問數(shù)據(jù)庫。對于已緩存的任何頁面,您的數(shù)據(jù)庫使用率可以有效地降至零。

只有讀取類型(SELECT)查詢可以被緩存,因為這些是產(chǎn)生結果的唯一類型的查詢。寫入類型(INSERT,UPDATE等)查詢,因為它們不生成結果,不會被系統(tǒng)緩存。

緩存文件不會過期。任何已被緩存的查詢將保留緩存,直到您將其刪除。緩存系統(tǒng)允許您清除與單個頁面關聯(lián)的緩存,或者可以刪除整個緩存文件集合。通常情況下,您需要使用下面介紹的內務管理功能在發(fā)生特定事件后刪除緩存文件,例如在將新信息添加到數(shù)據(jù)庫時。

緩存會改善網(wǎng)站的性能嗎?

由于緩存而獲得性能增益取決于許多因素。如果您的負載非常輕微,并且具有高度優(yōu)化的數(shù)據(jù)庫,那么您可能看不到性能提升。如果你的數(shù)據(jù)庫被大量使用,你可能會看到一個改進的響應,假設你的文件系統(tǒng)沒有過度征稅。請記住,緩存只會改變您的信息檢索方式,將其從數(shù)據(jù)庫操作轉移到文件系統(tǒng)。

例如,在一些集群服務器環(huán)境中,由于文件系統(tǒng)操作非常激烈,緩存可能是有害的。在共享環(huán)境中的單個服務器上,緩存可能會有所幫助。不幸的是,你是否應該緩存數(shù)據(jù)庫的問題沒有單一的答案。這真的取決于你的情況。

緩存文件是如何存儲的?

CodeIgniter將每個查詢的結果放入它自己的緩存文件中。緩存文件集進一步組織到與您的控制器功能相對應的子文件夾中。確切地說,子文件夾的名稱與您的URI的前兩個段(控制器類名稱和函數(shù)名稱)的名稱完全相同。

例如,假設您有一個名為blog的控制器,其中包含一個名為comments的函數(shù),其中包含三個查詢。緩存系統(tǒng)將創(chuàng)建一個名為blog + comments的緩存文件夾,其中將寫入三個緩存文件。

如果您使用基于URI中信息更改的動態(tài)查詢(例如,在使用分頁時),則查詢的每個實例都將生成自己的緩存文件。因此,有可能最終獲得的緩存文件比查詢多得多。

管理緩存文件

由于緩存文件不會過期,因此您需要在應用程序中創(chuàng)建刪除例程。例如,假設您有一個允許用戶評論的博客。無論何時提交新評論,您都需要刪除與提供評論的控制器功能相關聯(lián)的緩存文件。您會發(fā)現(xiàn)下面介紹的兩個刪除功能,可幫助您清除數(shù)據(jù)。

并非所有數(shù)據(jù)庫函數(shù)都使用緩存

最后,我們需要指出,被緩存的結果對象是完整結果對象的簡化版本。出于這個原因,一些查詢結果函數(shù)不可用。

當使用緩存的結果對象時,下列函數(shù)不可用:

  • NUM_FIELDS()

  • FIELD_NAMES()

  • field_data()

  • free_result()

此外,兩個數(shù)據(jù)庫資源(result_id和conn_id)在緩存時不可用,因為結果資源僅與運行時操作有關。

功能參考

$ this-> db-> cache_on()/ $ this-> db-> cache_off()

手動啟用/禁用緩存。如果你想保持某些查詢不被緩存,這會很有用。例:

// Turn caching on
$this->db->cache_on();
$query = $this->db->query("SELECT * FROM mytable");
// Turn caching off for this one query
$this->db->cache_off();
$query = $this->db->query("SELECT * FROM members WHERE member_id = '$current_user'");
// Turn caching back on
$this->db->cache_on();
$query = $this->db->query("SELECT * FROM another_table");

$這個 - > DB-> cache_delete()

刪除與特定頁關聯(lián)的緩存文件。如果您需要在更新數(shù)據(jù)庫后清除緩存,這是非常有用的。

緩存系統(tǒng)將緩存文件保存到與您正在查看的頁面的URI相對應的文件夾。例如,如果您正在example.com/index.php/blog/comments上查看頁面,則緩存系統(tǒng)會將與其關聯(lián)的所有緩存文件放在名為blog + comments的文件夾中。要刪除您將使用的特定緩存文件:

$this->db->cache_delete('blog', 'comments');

如果不使用任何參數(shù),則在確定應清除哪些內容時將使用當前URI。

$這個 - > DB-> cache_delete_all()

清除所有現(xiàn)有的緩存文件。例子:

$this->db->cache_delete_all();
Previous article: Next article: