Loading... 昨晚折腾博客的时候,发现了一个好东西,经过本人的使用,效果很明显。推荐大家如果服务器允许,则打开此功能。该功能打开后将会明显减少数据库查询次数和执行时间。 <span style="color: #ff0000;">Object Cache</span>全名<span style="color: #ff0000;">File-Based Object Caching</span>。那么什么是Object Cache或对象缓存呢?它和一般生成静态HTML页面的缓存(比如WP Super Cache)有什么不同?一般的缓存是将服务器生成的完整HTML响应进行存档,将之保存为静态的文件保存在硬盘上以供下次调用,一般来说这样的机制都会给静态文件一个有效期,在特定时间或特定动作之后,当前缓存过期并重新生成。 Object Cache则是另一种形式的缓存。<span style="color: #9b00d3;">它只缓存那些服务器生成上面的响应过程中创建的“数据”或对象</span>。举个例子来说,如果一个Blog的首页有一个列表,比如最新的5个文章,友情链接,指向最新5个评论的链接等等; 服务器可以“单独”地以原始数据格式(raw data format)缓存它们,所以在未来的调用请求中,这些内容可以被一个接一个地取回。 <!--more-->简单来说,<span style="color: #9b00d3;">一般的缓存是将生成的“结果”保存起来供下次相同请求时调用,而对象缓存是将生成过程中的零件们进行缓存,下次有相同请求时无须现找零件而是即时拼装</span>,<span style="color: #9b00d3;">所以也降低了服务器负载</span>(特别是数据库请求次数)<span style="color: #000000;">。</span>对象缓存比全内容HTML缓存要更灵活,因为它允许当缓存内容发生改变时,只使部分缓存生效。比如当一条新评论在你的博客上发表时,完全没必要更新最新文章列表。另外,它还可以更容易地从以往请求内容的缓存数据中拼凑出新的请求(比如博客“单文章”页可能也包含最新评论列表)。 <span style="color: #0000ff;">Object Cache基于服务器的Memcache扩展</span>,所以如果你想使用这种缓存机制,请先咨询下你的服务商是否在服务器上启用了它。如果服务器支持此扩展,则Object Cache就可以直接使用了。如果你那可怜的小主机不支持此扩展,那么很悲催,这么好的功能你是用不了了。 基本可以认为Object Cache是一个有条件的话一定必须肯定绝对要启用的东西。原本Object Cache是WordPress内建的,但由于种种原因,它在WordPress 2.5及以上版本中就取消了,或者说不再内建了。但是相关的API调用还在并且都能正常工作,所以我们要做的就是用一个小文件启用它。 据前辈们的测试,它和任何其他的缓存插件,不管是WP Super Cache还是DB Cache等等都能够和平相处,所以,既然无痛而且确实有效,让我们都启用它吧。 这个小程序全称<a name="baidusnap0"></a>File-Based <a name="baidusnap4"></a>Caching for WordPress,作者是Neosmart的Mahmoud H. Al-Qudsi。使用方法很简单,下载本页下方的PHP文件,然后上传到你的Wordpress的<span style="color: #ff0000;">wp-content目录下</span>,然后同样还在<span style="color: #ff0000;">wp-content目录下新建一个名为cache的文件夹并确保文件夹可写(目录属性设置为755即可)</span>。然后,修改你的wp-config.php文件,在里面加上: <code lang="php"> // Enable the WordPress Object Cache: define('ENABLE_CACHE', true); </code> 然后保存文件即可。接下来你要做的就是多刷新几次你的博客,看看cache文件夹中是否多了些东西,那就是Object Cache的缓存文件了。另外,如果你留意你的数据库查询次数和时间的话会发现,这两个值都有非常明显的下降,这表明你的Object Cache已经正常工作了。 本站使用后,首页数据库查询次数由25~30次降低到5~10次,效果甚好。 <blockquote>注:显示数据库查询次数及执行时间的方法,请在你希望显示的地方加上如下代码: <div style="text-align: center;">< ?php echo get_num_queries(); ?> queries in < ?php timer_stop(1); ?> seconds.</div> 具体显示效果请看本站侧边栏下方。</blockquote> Object Cache对于降低数据库查询次数的效果可以说立竿见影,如果你没有做过其他方面的优化的话,单独使用这个应该能看到非常显著的查询数下降。如果搭配另一个数据库插件DB Cache,数据库查询次数还会进一步降低。不过对于一个初期访问量并不高的小博客,没必要使用插件来缓存。最后再次推荐大家在服务器支持的情况下都启用Object Cache。 <strong><span style="color: #800080;"><a href="http://pan.baidu.com/share/link?shareid=28612&uk=2885971346" target="_blank" rel="noopener"><span style="color: #800080;">点此下载缓存文件</span></a></span></strong> 最后修改:2021 年 12 月 16 日 02 : 41 PM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 赞赏作者
23 条评论
你是说这个Object Cache 不能用了?
现在有更好用的了。如果你是独立主机的话,可以使用fastcgi,效果更明显。
已经失效了亲 现在有新的了
@麦钛蛋
谢谢提醒~ :lol:
文章不错,
留个足迹,支持一下。
最好能回访一下。呵呵
回访了,欢迎光临哦 :oops:
围观一下..
启用了啊哈哈 :woshou :woshou
:daxiao 启用了还是很有好处的哈
你的下载插件是是么啊,就是能显示下载数量那个效果
Hacklog-DownloadManager,后台就可以直接搜索下载 :weixiao
悲剧,上传了之后,网页就打不开,看来是没戏了
悲剧的小空间。。。 :liuhan
:cankui 啊。你的评论中加链接会自动出现摘要啊。
好像是啊,这个我也没注意过 :cankui
猴猴,我的博客再出现错误了还要及时给我说哦!TKS。。。。
还有。提醒你下。把那段检测代码放到sidebar.php中得到的结果不太准确哦。你可以看下我刚写的文章中给你的说明。
http://love.jingfei.net/use-object-cache-to-fix-error.html
谢谢指正啊。我看了已经,不过放在sidebar比放在底部看着舒服些 :cankui 。实际缓存后的查询数量首页在7~14之间。内容页在12~18之间。比不启用缓存的情况下节约了一半的查询数量。还是很可观的哦~ :daxiao 一定要启用哦~ :keai
:daxiao 是啊!情侣博客嘛!美观第一位滴~~。。。 :daxiao 我也启用了。
咋样才知道服务器支持呢
对呀,咨询空间商吧~或者自己试试,没反应就是不支持喽。不过一般来说收费主机都应该是支持的。 :weixiao
询问空间商或自己测试一下就知道行不行了。!