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