作者广告
作者广告

使用 WordPress 对象缓存 (Object Cache) ,让你的大型网站速度性能翻倍

一、什么是 WordPress 对象缓存

对象缓存是一个存储数据库查询结果的过程,以便在下次需要时快速恢复它们。缓存的对象将从缓存中迅速得到服务,而不是向数据库发送多个请求。这更有效,并减少了服务器上大量不必要的负载。

简单来说,对象缓存允许将经常使用的对象复制并存储在更近的位置,以便更快地使用。

高效的数据库允许大型高流量网站为世界各地的高质量媒体提供服务。

服务器超载会导致网站性能不佳和用户体验不佳。当您在您的网站上设置对象缓存时,它将减轻您服务器的压力并仅在需要时创建数据库查询。

举个不太恰当的例子说人话就是:

无对象缓存:当有人访问你的网站时,没有对象缓存时是实时走数据库里调取数据,那么每次查询都会把所有数据表查询一遍。类似一个房间里有 100 个人,每个人都有自己的唯一编号及名字,当有人在门外叫喊编号比如 17,那么房间里的人就从 1 2 3 开始报数直到找到 17。这种效率非常低,而且会增加太多无用的查询时间。

有对象缓存:添加了对象缓存后就像是在这个房间里,100 个人预先给他们列了一个名单挂在门口,然后当有人在门外叫喊编号或名字时可以精确的找到这个人,让他直接出来,也就无需再进行逐个报数。

二、如何做 WordPress 对象缓存?

WordPress Object Cache 对象缓存目前最好用的两个方案是 Redis 和 Memcached 下面我们会逐步讲到。

注意:配置以下 Object Cache 对象缓存操作前需要在服务器中做出相应的基础软件配置,盲目安装启用相关插件可能导致站点崩溃,请联系专业人士进行服务器部署和插件规则配置工作。

1、WP Redis

Redis 是迄今为止领先的持久对象缓存 插件之一。Redis 是一个开源的内存数据结构存储。它集数据库、缓存和消息中心于一体。它适用于许多数据结构,例如字符串、哈希、列表、集合等。

Redis 具有许多强大的功能,包括内置复制、脚本和磁盘持久性。Redis Sentinel 和 Redis Cluster 分别提供了额外的特性,包括高可用性和自动分区。内存数据集是 Redis 提供的高性能的关键特性。

您可以通过分配刷新和转储新数据的时间或在重新启动 Redis 时记录新更改以更新来编辑对象的持久性。或者,如果您需要定期更新内容,则可以禁用此功能。

使用 WordPress 对象缓存 (Object Cache) ,让你的大型网站速度性能翻倍-1

最受欢迎的 插件是 Redis Object Cache 对象缓存,安装量超过 60,000。它易于安装和设置。激活插件后,导航到设置> Redis,然后单击 “启用对象缓存”。

2、WP Memcached

Memcached 也是一个开源的分布式内存缓存。与 Redis 类似,它用于通过减轻负载数据库来优化动态 Web 进程的流量。Memcached 将数据对象存储在动态内存中。

一种简单的思考方式是 “短期记忆”。所有信息都存储在 RAM 中,因此一旦空闲内存用完,最旧的数据就会被推出并替换。每当数据更改或过期时,Memcached 都会自动更新缓存以加载新内容。该软件使用散列算法和不断访问和引用的内部散列表来跟踪和调用所有数据。

使用 WordPress 对象缓存 (Object Cache) ,让你的大型网站速度性能翻倍-2

有许多支持 Memcached 的兼容 插件,安装时会检查以确保您的服务器上安装了 Memcached。W3TC 是一个很棒的插件,它支持 Memcached(以及 Redis)。安装并激活后,导航到常规设置 > 页面缓存方法并选择 Memcached。

三、谁需要 对象缓存?

对于 Redis Object Cache 和 Memcached Object Cache 两种技术方案如何选择要取决于当前 WordPress 网站的规模和服务器架构,还有就是后续的开发方向。

薇晓朵(Weixiaoduo.com)网站现身说法的就是我们目前正在使用 Redis 对象缓存,不过并不是单一只用 Redis,而是通过在 WordPress 网站内部优化和做缓存加速后再通过 Object Cache 对象缓存实现的加速。使用 WordPress 对象缓存 (Object Cache) ,让你的大型网站速度性能翻倍-3

同样的,我们还做了以下工作:

  • WordPress 静态文件分离;
  • WP Rocket 缓存加速;
  • WordPress 全站 CDN 加速;
  • WordPress 图片 jpg、png 转 webp 格式;
  • WordPress 数据库拆分为多数据库分布式架构(进行中)

至于为什么要做这些操作也是因为前几个月被阿里云的工程师给的回复整懵了,我们网站速度变得奇慢无比,然后实在没办法了让协助排查下原因,结果给到的回复是我们的数据量太大导致扫描和执行时间过长。

几亿行数据要查询近 7 个小时。

使用 WordPress 对象缓存 (Object Cache) ,让你的大型网站速度性能翻倍-4

后面发现这样下去确实不行,就测试了很多办法,最后终于还是实现了想要的效果,虽然对目前的网站性能及速度并不是最佳,但依旧是保障了我们的业务和整个平台的平稳运行,这就是折腾的意义和目的了。

转载来源:https://one.weixiaoduo.com/4339.html

相关:WordPress

给TA打赏
共{{data.count}}人
人已打赏

【龙萱坤诺】声明:

龙萱坤诺所有资源来源于网络及用户分享或为本站原创,仅限用于学习和研究,如有侵权请邮件联系站长!不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站概不负责!

 

龙萱坤诺欢迎您投稿发表文章,更有龙萱坤诺奖励和额外收入!根据投稿内容质量,可获邀入驻本平台,开启您的站长之路!

 

如有链接无法下载、失效或广告,请到圈子反馈!

© 转载请声明:转载自“龙萱坤诺"

网站运营

宝塔 mysql 自动关闭_宝塔mysql总是自动停止解决方法总汇

2022-10-17 17:01:07

网站开发网站运营

移除 WordPress 5.9及后续版本 登录页面中的语言切换框

2022-11-15 9:29:37

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索