我在共享主機服務上有一個簡單的站點,我使用基本的PHP輸出緩存(將HTML輸出寫入文件)。該網站的數據不會經常更改,但是當它做了只有我做了更改,所以該網站沒有更新界面,因爲它不需要一個,我只需登錄到phpmyadmin界面並將修改上載爲SQL語句。如果MYSQL數據發生變化,是否有辦法立即觸發PHP文件系統緩存失效?
這很好,唯一的問題是隻有當緩存時間到期時,更改纔會立即出現在站點上。有什麼辦法可以從mysql觸發緩存失效,因此當我更改數據庫中的數據時,緩存被清除。例如,如果可能的話,我可以在更新中添加一個更多的sql行,以便somwehow在主目錄中調用外部程序,但是它是什麼?
如果不是那麼有沒有一些聰明的方式讓MYSQL通知PHP方有關數據更新而沒有PHP必須連接到數據庫(如果存在緩存版本的頁面,那麼它使用它並且不會連接到數據庫,因爲這是重點)。
您是否可以在您的託管服務中使用cron(或其他配置重複任務的方式)? – Furgas 2012-02-20 12:25:35
是的,cron可用,但允許的最小重複間隔時間爲30分鐘,所以對快速緩存失效沒有多大用處。當然,我可以嘗試在不同的開始時間啓動30個cron作業,以實現1分鐘的粒度,但這是一個笨拙的解決方案。 – Tom 2012-02-20 12:27:45
你可以實現你自己的簡化cron(也就是定期檢查數據庫的php腳本),並運行一次。 – penartur 2012-02-21 05:09:11