Magento 1.9 自定义缓存问题

Magento 1.9 custom cache issue

我对 Magento 自定义缓存有疑问。 我有由 cron 启动的 Observer 方法,我将值写入缓存:

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');

但它 returns 我是假的。我查了一下原因是Zend_Cache_Backend_Fileclass中的metadatasArray里面没有CACHED_GOOGLE_ANALYTICS_VISITORS_COUNT,但是metadatas的文件是存在的。 此外,当我将值写入缓存时,metadatasArray 具有此值。

希望得到您的帮助。 此致,尼古拉

我知道错误的原因: cron 运行 来自网络服务器以外的其他用户,因此 php-process 没有权限读取包含元数据的文件。我已经从 www-data 用户启动了 cron,它现在可以正常工作了