您好,登錄后才能下訂單哦!
怎么在thinkphp中使用靜態緩存方法?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
具體分析如下:
thinkphp里面內置了一個靜態緩存功能,說靜態緩存可能對我這種菜鳥而言不太好理解。其實靜態緩存就是將THINKphp的某一個操作顯示出來的頁面生成一個HTML文件保存在設置的路徑,當用戶再次訪問的時候,如果緩存沒過期,那么這個操作將不再執行它下面的PHP程序,而是直接調用生成的HTML緩存文件。要使用靜態緩存就需要在項目配置目錄__APP__/Conf下面增加靜態緩存規則文件 htmls.php,還需要在配置文件中打開靜態緩存:
復制代碼 代碼如下:
'HTML_CACHE_ON'=>TRUE
設置已經生成的靜態頁保存路徑:
復制代碼 代碼如下:
'HTML_PATH' =>'__APP__/html'
設置默認緩存有效時間:
復制代碼 代碼如下:
'HTML_CACHE_TIME'=>'60'
讀取靜態頁面的規則
復制代碼 代碼如下:
'HTML_READ_TYPE'=>0
'HTML_READ_TYPE 設置成0,就是訪問這個緩存了的操作的時候,該操作讀取靜態緩存頁面顯示。URL路徑是該操作的路徑.如果設置成1,訪問該操作的時候,它就會重定向跳轉到靜態頁面。URL就是緩存文件路徑了。
接下來就要些緩存的規則了,也就是要設置一下 我們要對哪些操作進行靜態緩存,緩存HTML的名稱,和緩存時間了,
復制代碼 代碼如下:
return array("操作名"=>array("要生成的HTML靜態文件名稱","設置緩存有效期","生成文件名稱的規則") )
上面的"操作名"就是需要緩存的操作了,操作名又分三種形式.
1. 如果只寫操作名稱,那就是對項目下面所有模塊的 這一操作名進行緩存。
2. 模塊名稱:操作名稱,就表示只對該模塊下面的該操作進行緩存。
3. '*' 表示 對所有的操作都緩存.生成靜態文件的名稱,可以更具當前的模塊名稱{:module}, 當前操作名稱{:action},_GET _REQUEST _SERVER _SESSION _COOKIE的值 ($_xxx) 來設置.其中$_GET['xxx']參數可以直接用{xxx}表示。如果文件名稱當中帶有“/”那么系統會在保存目錄中新建目錄,如{:module}/{:action}系統就會在__APP__/html 目錄下建立一共以當前模塊名稱命名的目錄,然后生成以當 前操作名稱命名的html文件了,緩存有效期,單位為秒,設置成-1表示永久緩存,生成文件名稱的規則 就是 將 生成靜態文件的名稱 通過某個函數重新命名,比如md5.
關于怎么在thinkphp中使用靜態緩存方法問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。