2016-09-14 78 views
1

我有一個Magento自定義緩存問題。 我觀察方法,它由cron啓動,我寫值到緩存:Magento 1.9自定義緩存問題

Mage::app()->saveCache($visitorsCount, 'cached_google_analytics_visitors_count', [], $twoDaysInSeconds); 

值表被成功救,我能在這裏從緩存中提取出來。和文件

mage---4ae_CACHED_GOOGLE_ANALYTICS_VISITORS_COUNT

mage---internal-metadatas---4ae_CACHED_GOOGLE_ANALYTICS_VISITORS_COUNT

是這裏有兩個。

現在是時候在我的塊來提取緩存值,所以我這樣做是這樣的:

$visitorsCount = Mage::app()->loadCache('cached_google_analytics_visitors_count'); 

但它返回我的不實。我調查過,原因是Zend_Cache_Backend_File類中的metadatasArray中沒有CACHED_GOOGLE_ANALYTICS_VISITORS_COUNT,但存在元數據文件。 更多的是,當我寫入緩存值時,metadatasArray有這個值。

希望你的幫助。 問候,尼古拉

回答

0

我已經得到了錯誤的原因: 的cron是從另一個用戶比網絡服務器上運行,所以PHP-proccess沒有權限讀取與metadatas文件。我已經從www-data用戶啓動了cron並且它現在可以正常工作