有人能解释一下WordPress缓存吗?在我的场景中,什么是最好的?

时间:2011-08-21 作者:FLX

我正在创建一个有两个基本用户组的网站:订阅者和编辑。Bot可以使用自定义表单创建帖子wp_insert_post(), 但编辑可以将一篇文章标记为私人,实际上,只有其他编辑才能共享一篇文章。

由于Wordpress已经从循环中过滤出了比编辑级别低的个人帖子,我想知道这将如何影响我的缓存,因为(据我所知)我将有两个缓存:一个向订阅者显示帖子,另一个向编辑显示帖子,其中也包括私人帖子。

在我使用的循环中:

  • current_user_can(): 根据订阅者/编辑/管理员包括或排除某些帖子内容get_post_status(): 根据帖子是“私有”还是“已发布”来包含或排除某些帖子内容get_post_meta(): 现在,为了检索各种自定义字段,我在0.198秒内对索引使用了26个查询。php和28个查询在0.193秒内完成。php。

    如何有效地缓存此内容?我还没有任何缓存插件,但我可以访问xCache。

    非常感谢!

1 个回复
最合适的回答,由SO网友:Webord 整理而成

所以你的问题是你想缓存2个循环,WordPress在后台做一些事情来缓存循环。你可以激活一个插件,比如W3 Total Cache, 但是,如果您确实需要为某些功能执行数据缓存,那么有一些功能/方法允许您使用这些缓存“系统”,而无需深入文档。

因此,您可能需要签出三个基本函数,首先您需要wp_cache_set, 这将利用缓存信息和密钥组的思想,因此您可以稍后使用wp_cache_get, 当您处理完这些信息,并且确信以后不再需要它时,您可以使用wp_cache_delete, 从缓存“系统”中删除该数据。

请注意,这些函数不是持久缓存,当您执行新请求时,它们将被删除,但它们保存在内存中,这意味着它们的速度非常快,因此您将存储稍后从数据库中使用的信息。

我在文本中添加了一些指向trac的链接,这些函数是定义的,但如果需要,可以查看WP_Object_Cache 参考并检查如何使用它们,还有一些很好的建议。

结束