Php joomla 2.5中的保守缓存和渐进缓存有什么区别?
在joomla的全局配置中,have 2缓存是保守的和渐进的,两者的区别是什么?对于每个访问者的唯一缓存Php joomla 2.5中的保守缓存和渐进缓存有什么区别?,php,joomla,joomla2.5,joomla3.0,joomla3.1,Php,Joomla,Joomla2.5,Joomla3.0,Joomla3.1,在joomla的全局配置中,have 2缓存是保守的和渐进的,两者的区别是什么?对于每个访问者的唯一缓存 保守缓存向站点的所有访问者显示完全相同的缓存内容 渐进式缓存但是,为每个用户唯一地缓存内容 根据@Tornado的评论提供的 保守缓存是标准的缓存类型。下面是它的工作原理: 访问者访问您网站上的某个页面 Joomla检查其缓存目录中是否有该页面的未过期版本 如果缓存的页面存在(并且没有过期),那么Joomla将向访问者提供该页面——否则,将创建页面的缓存版本,并且该缓存版本将提供给访问
- 保守缓存向站点的所有访问者显示完全相同的缓存内容
- 渐进式缓存但是,为每个用户唯一地缓存内容
- 访问者访问您网站上的某个页面
- Joomla检查其缓存目录中是否有该页面的未过期版本
- 如果缓存的页面存在(并且没有过期),那么Joomla将向访问者提供该页面——否则,将创建页面的缓存版本,并且该缓存版本将提供给访问者以及所有其他后续访问者,只要该页面(我们指的是页面)没有过期
- 访问者访问您网站上的某个页面
- Joomla检查该访问者是否存在该页面的缓存版本,并且该版本尚未过期
- 如果该缓存页面存在,那么它将被提供给访问者,否则,Joomla将为该特定访问者创建缓存页面,然后提供给他
- 如果另一个访问者(从未访问过该页面)访问该页面,那么Joomla将不提供前一个访问者的缓存页面,而是创建该页面的缓存版本
专门针对该用户,然后将其提供给他
从中提取。渐进式缓存的工作原理与保守式缓存的工作原理相同,不同之处在于缓冲区是渐进式更新的 如果查看JApplicationCMS(其中设置了渐进式缓存)中的render函数,您会发现它不适用于登录的用户。 此外,如果您跨浏览器或IP转储同一页面的缓存id,您将获得相同的缓存id
渐进式缓存的典型工作发生在JCache的getWorkarounds和setWorkarounds中。但是,请注意,cbuffer有时会变得笨重,导致问题。这是一篇关于Joomla中全局配置缓存的好文章。点击下面的链接查看。这说明它更好更快,但是上面的文章用实验来支持答案。如果你有时间读这两个,如果你需要一个快速,好的答案,读这一个:)我不能更强调“性能命中”渐进缓存!我有一个繁忙的网站,有很多回头客,我认为渐进式缓存将是我的选择。但它最终阻塞了我的网站。服务器RAM使用率急剧上升,CPU使用率增加,页面加载时间开始超过1分钟!有一次噩梦般的发射。我一禁用缓存,页面就会在3秒内加载。从那以后,我就不再使用缓存,只对会话处理程序使用memcache!
if ($this->isSite() && $this->get('caching') && $this->get('caching', 2) == 2 && !JFactory::getUser()->get('id'))
{
$caching = true;
}