站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
Joomla/用PageCache缓存技巧加速你的网站
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
{{Joomla top}} 本条目主要介绍用于[[Joomla!]]平台的一些缓存技巧。主要涉及两个组件:JRE Cache 和 PageCache 。 ==为什么要用缓存功能== 在过去,[[静态网站]]是不需要缓存的。因为静态网站不涉及数据库的存取,只是对文件系统的访问。 如今[[动态网站]]成为主流。动态网站的优点是容易做到内容与外观分离,容易实现网页内容的交互性(Interactivity)。当访客在[[浏览器]]地址栏输入一个网址来访问动态网站的某个网页时,在[[服务器端]]这个指令实际上是“兵分两路”:一边从文件系统中提取框架样式,另一边从[[数据库]]中提取内容数据,最后组合成完整的页面,返回给给浏览器,就是访客所看到的样子。由于每次访客的页面请求都要产生一次数据库查询,因此加重了服务器的负担。实际上很多动态网站的内容并不是每个页面都“动态”,很多页面内容也是在一段时间之内保持相对不变。 对于这些段时间内没有变化的内容,就可以将完整页面做一个“快照”,然后作为临时文件保存在某个目录中,在短时间内,如果有访客请求同样的页面,服务器就无需向数据库发起查询,而是直接将刚才保存的“快照”拿出来给他看 —— 将原来的“兵分两路”变成了“兵合一处”。这就是缓存。这样做的好处就是加快了前台页面打开的速度。因此,服务器端实施缓存的一般方式是“文件系统”,将页面的“快照”版本保存在缓存目录中。 ==缓存对Joomla!网站有什么意义== Joomla! [[CMS]] 是一个动态内容管理系统。核心本身就带有多个组件,其中的 com_content 是管理文章的。而大多数网站都有或多或少的文章页面。不难想象,这些文章页面在发布之后,很多都不再修改。还有“联系”页面,除非你的联系方式变了,否则在 Joomla! 建站后谁会经常去修改“联系”页面? 同样的,“[[友情链接]]”组件的内容估计也不是频繁更新;“产品介绍”栏目的内容也不是频繁更新;“专家介绍”栏目、“会员博客”栏目等等,这些内容有可能更新,但不会很频繁。 也就是说,对于一个确定在 1 小时内不会变化的页面,我们完全可以将它“缓存”59分钟。而对于一个月都不会更新的“产品介绍”栏目,我们至少可以缓存 29天!这将给服务器减少多少负担,同时给网站的打开速度加强多少! ==缓存方式简介== ===Joomla对于缓存的必要性=== 遗憾的是,Joomla!默认的缓存时间是不区分范围的,只是笼统的问你“缓存多久?”。如果你网站上某些页面1小时更新一次,某些页面1天更新一次,某些页面1个月更新一次,那么你只能选择最短的缓存时间。如果你选择了比较长的缓存时间,例如缓存 5 小时,那么更新较快的页面在有了新内容之后,前台仍然不会体现出来。 如果你的网站上还有一个更新特别频繁的区域,例如:[[论坛]]。那么很可能每 2 分钟就有一个新的帖子出现。如果将缓存时间设置为 1 分钟甚至更短,那就失去了缓存的意义。而对于你网站上另一些更新并不频繁的页面来说,不能拥有较长的缓存时间也很遗憾。 还有一个更复杂的情形就是:在很多网站上,文章系统带有“访客评论”功能。文章本身可能很久都不再更新,但是评论内容可能每天都有新的内容产生。这两者同时显示在同一个页面上,又该如何选择缓存的模式?因此,我们对于理想的缓存方式的期望是:能够区别对待网站上更新频率不同的区域。 ===缓存方式的选择=== 除了文件系统这种缓存方式,还有数据库的缓存方式。后者就是将[[网页快照]]存放在数据库,当服务器端接收到浏览器的请求,就直接从数据库中取出快照传输过去,无需再到文件夹里面提取样式框架。这两者哪一种效果好?这取决于具体的服务器环境。如果服务器上数据库比较繁忙,那么用文件系统做缓存当然效果好;反之,就应该选择数据库作为缓存位置。 近年来,随着内存芯片价格不断下降,过去昂贵的带 ECC 校验的服务器内存也便宜了许多。因此很多服务器都开始拥有 4GB 甚至更大内存。基于内存的缓存方式也逐渐兴起。无论“文件系统”还是“数据库”,其实都是存放在[[硬盘]]上的;而内存就不同了,大家都知道,内存的读取速度与硬盘不可同日而语!因此,如果有条件选择基于内存的缓存方式,那当然最好! 可是,正如你所看到的,Joomla! 只提供了“文件夹缓存”这么一种途径,也不能区别对待不同的内容区域。因此,其缓存机制实在太有限了!这就引出了我们今天要介绍的两个工具——JRE Cache 与 PageCache ==JRE Cache与PageCache的简单介绍== [[Image:Joomla pagecach 1.jpg]] 由于这些缓存增强组件需要凌驾Joomla! 自带的缓存机制,因此它们的安装过程都会自动修改核心文件[[代码]],如果你将来不需要它们了,在卸载时又会自动还原核心文件。而且这两个组件都在后台参数中有“还原文件”的按钮,方便随时取消功能。 ==PageCache的使用== ===PageCache缓存组件的启用=== PageCache的安装过程跟安装其它组件一样,安装结束后并未生效,需要到其后台的“设置”页面启用。后台控制面板如下图所示: [[Image:Joomla pagecach 1.gif]] 点击“设置”就能看到如下画面: [[Image:Joomla pagecach 1.png]] 第一项参数就是是否启用。如果你想享用 PageCache 的加速功能,当然需要勾选启用。第二项参数是缓存时间,单位是秒。你必须根据网站上更新较频繁的区域来设定这个数值,例如:留言本可能每天四、五次,文章系统好几天才更新,那么就可以设置缓存时间为 2小时 —— 7200 秒,填写 7200 即可; 请注意上图中“缓存方式”部分,Database 、Eaccelerator 和 File 三项是正常文字样式,表示当前可用,而 APC、MemCache 和那个没有需要向下滚动才能看到的 Xcache 以斜体字出现,表示当前不可用。设定好参数后,点击右上角的“保存”按钮即可生效。 ===在PageCache中除外对指定组件的缓存=== PageCache 有一个很好的功能就是允许除外对指定组件的缓存。例如,它已经内置了一个参数,指定不要缓存 FireBoard 论坛组件,这样的话,所有论坛的内容都不会缓存,访客就能及时看到当前最新的帖子。 如果你的论坛不是 FireBoard 呢?那么,我们就必须手动添加这个除外规则了。从 PageCache 的控制面板上点击“模块”,可以看到其中有 no cache 模块,就是设定“不要缓存”的内容的。 [[Image:Joomla pagecach 2.png]] 这里有两种“不缓存”设定方式,一个是 no_cache_database,一个是 no_cache_file,你随便选择一个都可以,只要记着设置完后要发布你所选择的模块。例如上图中,前者是发布状态,而后者是未发布状态。 ==参考来源== http://www.joomlagate.com/article/joomla-seo/make-a-faster-joomla-website-with-caching-tricks/ {{Joomla! SEO教程}} [[category:Joomla|Y]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:Joomla! SEO教程
(
编辑
)
模板:Joomla top
(
编辑
)