搜索
首页CMS教程WordPressWordPress 对象缓存(Object Cache)详细介绍和使用

Memcached 内存缓存可以优化 WordPress 很多功能,让你的 WordPress 变得更快,下面由WordPress教程栏目给大家介绍如何使用 Memcached 来深度优化 WordPress。

WordPress 对象缓存(Object Cache)详细介绍和使用

要深度理解 WordPress 优化,必须要首先了解 WordPress 对象缓存 机制。

WordPress 对象缓存机制和服务器设置

WordPress Object Cache(WordPress 对象缓存)是 WordPress 的缓存机制,它的主要功能是把负责查询或者运算的结果按照 Key-Value 这样的方式(WordPress 还支持按照 Group 来划分和避免缓存的内容冲突)存储到对象里面,下次进行同样操作的时候,可以让直接从这个对象中取出数据,不用重复到数据库中或者其他外部网站获取数据。

WordPress Object Cache 和服务器设置关系很大,如果系统开启了 Memcached 内存缓存,则这个对象是直接存入到内存,在数据未过期之前,以后再次读取这个数据都是直接从内存中读取的,这样效率和速度都非常快的。

如果服务器不支持内存缓存的话,则只能保证在当前页面下同样的查询或者操作不再重复从数据库中读取了。

WordPress 对象缓存的函数

使用 WordPress 对象缓存技术其实是非常简单的:

使用 wp_cache_add() 把数据添加到缓存中。

使用 wp_cache_set() 把数据设置到缓存中。

使用 wp_cache_get() 到缓存中读取数据。

使用 wp_cache_delete() 删除缓存中的数据。

这些函数会涉及到的四个参数:

参数 

$key 对象的 key。

$data 要存的值。

$group 分组,可选参数,用来把缓存对象就行分组。

$expire 过期时间,可选参数,如果是默认缓存,这个参数没用,如果是内存缓存,是设置缓存的时间,单位是秒,默认为0(0的意思就是永远,不会自动过期)。

使用 WordPress 对象缓存

下面以我即将更新 WordPress 相关文章插件为例,讲讲如何使用 WordPress 对象缓存:

我们知道 WordPress 相关文章插件是通过 tag 和分类来获取相关文章,相同的 tag 和分类越多,相关性越强,这样就需要进行多个表联合查询来获取相关文章,这样效率其实是比较差的。但是一个文章它的相关文章一段时间内是不会变动的,所以我们就可以使用 WordPress 对象缓存对相关文章进行加速。

下面是把把相关文章的数据写入缓存的例子,使用当前 post_id 作为 key,related_posts 作为 group,缓存时间为一个小时,即 3600 秒。

global $post;
$related_posts_data = wp_get_related_posts();
wp_cache_set($post->ID,$related_posts_data,'related_posts',3600);

上面只是把数据存到缓存对象中,我们在显示相关文章的时候,就要去调用这个对象缓存来使用,首先检查下是否已经有了缓存,如果你要的信息没有在缓存中,或者已经过期了。wp_cache_get() 会返回 false,如果这样,你就要去数据库中重新获取这些信息。否则就返回在缓存中的信息。

global $post;
$related_posts_data = wp_cache_get($post->ID,'related_posts');
if(false === $related_posts_data){
$related_posts_data = wp_get_related_posts();
wp_cache_set($post->ID,$related_posts_data,'related_posts',3600);
}
echo $related_posts_data;

因为设置了一个小时,相关文章的数据就失效,这里一般就无需更新缓存了,如果你在后台更改了设置,需要立即清理缓存,可以使用 wp_cache_delete 进行清理:

wp_cacache_delete($post->ID,'related_posts');

WPJAM Basic 插件已经集成了 Memcached,下载 WPJAM Basic 之后,将 wpjam-basic/template/ 目录下的 object-cache.php 文件复制到 wp-content 目录下即可。

以上是WordPress 对象缓存(Object Cache)详细介绍和使用的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:wpjam。如有侵权,请联系admin@php.cn删除
wordpress怎么加评论框wordpress怎么加评论框Apr 20, 2025 pm 12:15 PM

在 WordPress 网站上启用评论功能,可以为访客提供参与讨论和分享反馈的平台。为此,请按照以下步骤操作:启用评论:在仪表盘中,导航至“设置”>“讨论”,并选中“允许评论”复选框。创建评论表单:在编辑器中,单击“添加块”并搜索“评论”块,将其添加到内容中。自定义评论表单:通过设置标题、标签、占位符和按钮文本来定制评论块。保存更改:单击“更新”以保存评论框并将其添加到页面或文章中。

wordpress怎么复制子站wordpress怎么复制子站Apr 20, 2025 pm 12:12 PM

如何复制 WordPress 子站?步骤:在主站创建子站。在主站克隆子站。将克隆导入目标位置。更新域名(可选)。分开插件和主题。

wordpress怎么写页头wordpress怎么写页头Apr 20, 2025 pm 12:09 PM

在WordPress中创建自定义页头的步骤如下:编辑主题文件“header.php”。添加您的网站名称和描述。创建导航菜单。添加搜索栏。保存更改并查看您的自定义页头。

wordpress评论怎么显示wordpress评论怎么显示Apr 20, 2025 pm 12:06 PM

WordPress 网站中启用评论功能:1. 登录管理面板,转到 "设置"-"讨论",勾选 "允许评论";2. 选择显示评论的位置;3. 自定义评论表单;4. 管理评论,批准、拒绝或删除;5. 使用 <?php comments_template(); ?> 标签显示评论;6. 启用嵌套评论;7. 调整评论外形;8. 使用插件和验证码防止垃圾评论;9. 鼓励用户使用 Gravatar 头像;10. 创建评论指

wordpress怎么上传源码wordpress怎么上传源码Apr 20, 2025 pm 12:03 PM

可以通过 WordPress 安装 FTP 插件,配置 FTP 连接,然后使用文件管理器上传源码。步骤包括:安装 FTP 插件、配置连接、浏览上传位置、上传文件、检查上传成功。

wordpress代码怎么复制wordpress代码怎么复制Apr 20, 2025 pm 12:00 PM

如何复制 WordPress 代码?从管理界面复制:登录 WordPress 网站,导航到目标位置,选择代码并按 Ctrl C (Windows)/Command C (Mac) 复制代码。从文件复制:使用 SSH 或 FTP 连接到服务器,导航到主题或插件文件,选择代码并按 Ctrl C (Windows)/Command C (Mac) 复制代码。

wordpress出现错误怎么办wordpress出现错误怎么办Apr 20, 2025 am 11:57 AM

WordPress 错误解决指南:500 内部服务器错误:禁用插件或检查服务器错误日志。404 未找到页面:检查 permalink 并确保页面链接正确。白屏死机:增加服务器 PHP 内存限制。数据库连接错误:检查数据库服务器状态和 WordPress 配置。其他技巧:启用调试模式、检查错误日志和寻求支持。预防错误:定期更新 WordPress、仅安装必要插件、定期备份网站和优化网站性能。

wordpress怎么关闭评论wordpress怎么关闭评论Apr 20, 2025 am 11:54 AM

如何在 WordPress 中关闭评论?特定文章或页面:在编辑器中取消选中“讨论”下的“允许评论”。整个网站:在“设置”->“讨论”中取消选中“允许发表评论”。使用插件:安装 Disable Comments 等插件禁用评论。编辑主题文件:通过编辑 comments.php 文件移除评论表单。自定义代码:使用 add_filter() 函数禁用评论。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版