yii2開啟表結構快取,因為當運用模型(model)時,ar的一些公共屬性都會從db中獲取,這樣會導致伺服器負擔一些額外的資源開銷,實際上對於成品來說,伺服器這些開始銷是多餘的,故應該阻止這種預設行為,把錶結構進行快取起來,提高效率.yii2的快取值得深入研究學習.
開啟資料庫表結構的schema快取的方法:
//配置檔案的方式'db'=>array(
...
'enableschemacache' => true,
'schemacacheduration' => 86400, // time in seconds
...
),
//區分環境--**基類裡面實現
$dsn = "mysql:host=" . $config['host'] . ":" . $config['port'] . ";dbname=" . $config['name'];
$connection = new connection([
'dsn' => $dsn,
'username' => $config['user'],
'password' => $config['password']
]);
$connection->charset = "utf8mb4";
if(yii_env == 'prod')
//........
return $connection;
當開啟了資料庫的表結構快取之後,需要改動或執行一些改變表結構的sql語句的時候,就會出現表結構被快取了無法立即修復bug或故障。這個時候就需要重新整理或者清除資料庫表結構的快取資訊。
//方法一:清空表結構快取的方法//flush all the schema cache
//clear the particular table schema cache
//方法二:清空所有的快取--不僅僅是mysql表結構
//方法三:使用 yii命令列的方式commond清除快取
cache/flush flushes given cache components.
cache/flush-all flushes all caches registered in the system.
cache/flush-schema clears db schema cache for a given connection component.
cache/index (default) lists the caches that can be flushed.
//執行
./yii cache/flush-all
Yii2快取機制 快取依賴
我們都知道,yii2的快取是支援依賴的,就是我們設定的快取是否失效除了過期時間還決定於它所依賴的東東是否變化。用好依賴將大大提高我們使用快取的效果,本節講解yii2快取的5種依賴方式。還是先列某 yiicachingdbdependency yiicachingexpressiondependenc...
重新整理ORACLE快取
很多時候,為了排除 cache 對於調優測試的影響,我們常常需要手動重新整理 buffer cache 以促使 oracle 重新執行物理訪問。在oracle9i 裡,oracle 提供了乙個內部事件,用以強制重新整理 buffer cache 其語法為 1 alter session set ev...
MySQL FLUSH 重新整理快取
mysql當做了許可權操作,新加使用者,或者是其他表的操作後。要其生效有兩種方式,一種是重啟服務,另外一種是使用flush命令。第二個方式,使用flush必須有reload許可權。下面是flush命令的主要引數 hosts 清空主機快取表。如果你的某些主機改變ip數字,或如果你得到錯誤訊息host ...