<?php return array( //開啟靜態緩存 'HTML_CACHE_ON' => true, 'HTML_CACHE_RULES' => array( 'News:index' => array('{:module}_{:action}_{id}', 0) ) );
開啟靜態緩存,並配置News控制器下的index方法對應的頁面,會緩存到項目根目錄下的HTML文件夾里,0表示永久緩存,換成10就是保存10秒。
文件名為News_index_10.html
頁面被靜態緩存后,頁面上需要實時變化的點擊量怎么辦?解決辦法如下:
<div>瀏覽 <script type='text/javascript' src='{:U(GROUP_NAME . "/News/clickNum", array("id", $news["id"]))}'></script> 次</div>
然后在NewsAction里加上public function clickNum()方法,在該方法內進行點擊量的+1的邏輯並存庫之類的操作,最后
public function clickNum(){ //點擊量的相關邏輯 echo 'document.write(' . $click . ')'; }
開啟動態緩存
//動態緩存方式 'DATA_CACHE_TYPE' => 'Memcache', //默認是file 'MEMCACHE_HOST' => '127.0.0.1', 'MEMCACHE_PORT' => 11211
開啟后,S('index_list', $list, 10); 就是往memcache里緩存了,前提時服務器要裝memcached服務,且php支持memcache。
DATA_CACHE_TYPE不設置的話,默認是file,往runtime目錄下寫入緩存文件的。