我想在这里提出我的问题: 根据获得的少量视图,在具有单独后端服务器的安装上刷新Magento Redis
Cache的问题有点过于具体,因此我要提出一个更简单,更通用的问题。
我的问题的详细信息在链接的问题中。但是要点是,如果我尝试从管理区域刷新缓存或刷新magento缓存,它将尝试清除看起来不存在的“zc:ti:403_FPC”之类的内容。相反,它们被命名为“zc:ti:109_FPC”等。存在一些403键,但还有更多109键。
我的怀疑是该问题是由管理员在单独的服务器和不同的子域(admin.example.com)上引起的。因为当应用程序服务器创建并清除键时,它们似乎将其命名为109,而管理服务器则创建了403键。也许有多个应用服务器的问题。或使用redis。
由于我真正的问题太具体了,如果有人告诉我保存名称时如何命名以及检索名称时使用什么名称,这将是一个好的开始。谢谢。
编辑:我真的很快测试了一些东西。似乎使用管理员刷新缓存调用
Mage::app()->getCacheInstance()->clean() etc.
getCacheInstance()看起来像:
/**
* Get core cache model
*
* @return Mage_Core_Model_Cache
*/
public function getCacheInstance()
{
if (!$this->_cache) {
$this->_initCache();
}
return $this->_cache;
}
我试过一次
Mage::app()->getCache()->clean()
它似乎起作用了!我需要再戳一点以确保。getCache看起来像这样:
/**
* Retrieve cache object
*
* @return Zend_Cache_Core
*/
public function getCache()
{
if (!$this->_cache) {
$this->_initCache();
}
return $this->_cache->getFrontend();
}
有什么理由为什么会使用getCacheInstance而不是getCache来刷新缓存?有什么理由为什么只会影响我而不影响其他所有人?
再次编辑:
之所以起作用,是因为它发送了flushdb命令。
再次编辑:
我一直在闲逛,在Zend / Cache / Core.php中遇到了一些有趣的东西。我找到了一个名为“
cache_id_prefix”的选项。听起来很有希望。当我在管理服务器上运行以下命令时:
<?php
require_once('/var/www/html/app/Mage.php');
$cip = Mage::app()->getCache()->getOption('cache_id_prefix');
echo $cip;
?>
我得到了“ 403_”-正是我期望的值。我在应用服务器上进行了尝试,并获得了“ 109_”。现在,我只需要找到在setOption()中设置这些选项的位置。
我一直在研究Redis(完全没有经验,只是研究了理论),在做了一些研究之后,发现它也被用作缓存。例如StackOverfolow it self。 有什么好处吗? 我试图直接浏览这个答案redis-cache-vs-using-memory-,但我想我没有得到答案中的关键行: “基本上,如果您需要您的应用程序在共享相同数据的几个节点上进行扩展,那么将需要类似Redis(或任何其他远程键/值存储)的
我们在Magento有个奇怪的问题。 2)我只能在PHP日志上看到一个错误(但我不确定它是否与此有关): [23-jan-2013 06:54:28]PHP致命错误:在/home/**************/lib/zend/cache/backend/file中超过了30秒的最大执行时间。PHP在第655行 [23-jan-2013 09:23:08]PHP致命错误:在/home/******
我有一个接受作为参数的方法。当用户请求 page = 0 和 size = 20 等时,我想将这些传递的值作为。 我做的是 它给出了轴测: EL1008E:在类型为“org.springframework.data.domain.PageRequest”的对象上找不到属性或字段“number” - 也许不是公共的? 我怎样才能使缓存成为它的关键?
有人能详细说明一下使用领域吗。确实需要两者都实现两者。?
我有一个关于内存系统遵循的策略的基本问题。 考虑一个具有私有L1和L2缓存的核心。在L2缓存之后,我们有一个相干流量运行的总线。现在,如果从L2高速缓存中逐出地址(X)的高速缓存行,是否有必要从L1高速缓存中逐出该地址?? 逐出的原因可能是它有助于保持一致性协议的不变[如果l2中的一行显示无效,则此核心不包含此地址]。
我正在使用iTextSharp 5.5.10来生成签名PDF。特别是,我需要LTV签名。LTV可以通过CRL和OCSP请求来完成。 我设法用这种代码缓存CRL(它依赖于C#MemoryCache): 但是,我找不到任何缓存OCSP响应的解决方案。有人有线索吗?