CI框架學習之六 資料庫查詢快取優化

2021-06-29 10:12:35 字數 931 閱讀 2114

ci框架中有個比較好的查詢優化,就是資料庫快取優化

$db['default']['cache_on'] = true;

$db['default']['cachedir'] = './cache';

//並在對應的目錄中加乙個可寫快取目錄cache

// 開啟快取開關

$this->db->cache_on();

$query = $this->db->query("select * from mytable");

// 使下面這條查詢不被快取

$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");

3. 新增相應的 清空快取

//快取不會自動刪除 只能手動刪除

//這樣 你可以在對應的 增改刪 語句中清除快取 就ok了

//清空所有快取

$this->db->cache_delete_all()

/*清空單個快取

example.com/index.php/blog/comments的頁面, 快取系統會把所有生成的快取檔案放進

乙個以 blog+comments做為名稱的資料夾裡. 如果您要刪除關於剛才提到的這個例子與

之對應的快取檔案 需要執行以下**:

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

CI框架資料庫查詢之join用法分析

用 a表中的每個id 去查詢這個 id 在 people 表中的資訊。語句如下 this db from a this db join b sites.id b.id 用 a表中的每個id 去查詢這個 id 在 b表中的資訊。注意sql的約定,如果乙個列名在二張表中是重複的,你需要在列名前加上表名和...

CI框架學習之六 常用函式封裝

封裝查詢函式 public function get what table where array fields 查詢並返回相關結果 query this db select fields where where get table res query result array return res...

系統快取學習(六)資料庫快取依賴

更多的時候,我們的伺服器效能損耗還是在查詢資料庫的時候,所以對資料庫的快取還是顯得特別重要,上面幾種方式都可以實現部分資料快取功能。但問題是我們的資料有時候是在變化的,這樣使用者可能在快取期間查詢的資料就是老的資料,從而導致資料的不一致。那有沒有辦法做到,資料如果不變化,使用者就一直從快取中取資料,...