2015-05-27 110 views
0

在Prestashop的後臺中,沒有用於刷新緩存的選項(高級參數 - 性能),只能禁用緩存。如何刷新Prestashop中的APC緩存

不同類型的高速緩存和如何刷新他們

  • Smarty的編譯緩存:cache/smarty/compile下刪除子文件夾
  • Smarty的模板緩存:使用文件系統刪除下cache/smarty/cache
  • 緩存子文件夾:刪除子文件夾cache/cachefs

但是如果我使用APC Cache,我該如何去刷新緩存?

附屬問題:是否可以設置全局ttl?默認情況下,所有東西都會被永久緩存。

+2

我不知道你正在使用哪個版本的prestashop,但在我的1.6.0.9下的高級參數 - >性能上有一個頂部綠色工具欄上的「清除緩存」按鈕(這將刷新你的smarty/xml/js/css緩存)。對於APC/Xcache系統,prestashop不能做很多工作,因爲它們依賴於它們的相關.ini文件,並且必須手動配置,例如。 http://www.if-not-true-then-false.com/2012/php-apc-configuration-and-usage-tips-and-tricks/。 – kawashita86

+1

是的,不幸的是,Prestashop無法控制通用/數據庫緩存,因爲APC設置(以及任何其他緩存系統)綁定到服務器,而不是prestashop安裝。要更改這些設置,您必須修改.ini文件,例如。 apc.ini。有一些指導,告訴你如何設置TTL/dimesios/chunck等。因爲我不是APC系統的專家,所以我在這裏幫不了你。 – kawashita86

回答

2

要刷新APC用戶緩存,你必須安裝APC的管理界面(apc.php)。該文件與APC的下載捆綁在一起。只需將其複製到可從網絡訪問的文件夾中,即可編輯它以設置密碼。
之後,您可以在需要時連接並刷新緩存。可以分別刷新系統緩存和用戶緩存。

2

你可以寫一個簡單的PHP函數:添加的所有緩存迪爾斯到陣列,並檢查:

foreach ($cacheDirs as $dir) 
      if (file_exists($dir)) 
        $this->emptydir($dir); 

其他方式,使用免費的模塊進行清潔:http://www.prestatoolbox.com/free-prestashop-modules/122-clear-the-cache-of-prestashop.html

+0

我的問題是關於APC緩存,而不是文件系統緩存。 –

+0

@elPresta很好的答案,但你應該擴大一點,使其可用(提供cacheDirs值)。很多像我這樣的人登陸這個頁面尋找你提供的一個通用解決方案。模塊將無法工作,因爲有時您需要清除緩存才能訪問該站點(例如,在更改環境後) – bg17aw

+0

@ bg17aw看看我的問題。我已經列舉了需要清空的緩存區域。 –