• 服务器租用:建站教程、SEO优化文章、网站模板、服务器软件、云服务器国外服务器香港服务器虚拟主机域名注册、服务器相关知识。
  • 主机吧永久网址为:https://www.fuwuqizuyong.cc
  • 如您无法通过百度搜索到本站时,请更换搜索引擎,或者直接在浏览器地址栏输入 www.fuwuqizuyong.cc 即可回到本站
  • 浏览更多精彩内容,请 Ctrl+D 将本站加入浏览器收藏夹。

WordPress启用Redis为网站加速,WordPress提速教程实战

WordPress 启用 Redis 为网站加速,WordPress 提速教程实战

写这篇文章其实我是拒绝的。因为在此之前网上到处都是相关的文章,而且基本上千篇一律,但千篇一律的文章也能用。不过本真严禁认真的太多,小编我还是决定亲自在测试一番。(以下内容转自己的博客,最初发布日期为:2017-05-21)

在启用WordPress redis 加速之前,首先要安装Redis 数据库并开启 PHP 扩展,不同的环境开启方法都不太一样,有些简单有些复杂,大家可以 Google 或者百度查找相关文档。博主用的是宝塔环境,开启是非常简单的,宝塔 4.X 直接后台选 PHP 配置安装 redis 扩展即可,如图:

WordPress 启用 Redis 为网站加速,WordPress 提速教程实战

其他系统环境大家搜索下网络,教程也有很大,关键字 “系统环境 + 安装 redis php 扩展”。

扩展开启后的 phpinfo 应该是这样的,正确显示了 redis 版本

WordPress 启用 Redis 为网站加速,WordPress 提速教程实战

配置 WordPress 的 redis 支持

万事俱备,下面就开始启用WordPress的 redis 支持吧。

第一,下载 predis.php 放到你的网站根目录,与index.php同目录,predis.php 下载地址 : http://pc.haibakeji.com/down/predis.zip

或者 直接 wget 文件。

wget https://uploads.staticjw.com/ji/jim/predis.php

第二,下载 index-with-redis.php 放到你的网站根目录,同上,与 predis.php 保持一个目录 下载地址:http://pc.haibakeji.com/down/index-with-redis.zip (原版 Github:https://gist.github.com/JimWestergren/3053250#file-index-with-redis-php),当然网上还有一份修改版,据说是修改了 bug 下载地址:http://pc.haibakeji.com/down/index-with-redis-rebuild.zip 这个版本也是我目前在用的版本。

需要修改的地方:

$cf = 1; // 如果开了 cloudflare 这里设置为 1,否则为 0
$debug = 0; // 是否开启底部调试信息,显示执行时间等
$display_powered_by_redis = 1; // 这个是原版文件带的功能,修改版已经取消,以上 1 位显示 powered by redis , 0 关闭。

第三,把原index.php修改为任意文件,比如 index-back.php,同时修改 index-with-redis.php 为index.php,这样 redis 就已经开始对WordPress进行了缓存了。

第四,如果不想修改index.php,同时保持 index-with-redis.php 不变,需要修改伪静态规则,以 Apache 的.htaccess 为例子。修改如下字段

//原始伪静态规则
RewriteRule . /index.php [L]
//修改后的规则
RewriteRule . /index-with-php.php [L]

测试效果

因为要测试效果,这里需要打开 debug 参数,修改 index-with-redis.php(如果修改为index.php则打开 index.php)里面的 debug 参数为 0。

这里需要注意的是,插件默认在管理员登陆状态下是无法生存缓存和加载缓存的,请退出后台账户,或者开启浏览器隐身模式!

WordPress 启用 Redis 为网站加速,WordPress 提速教程实战

测试效果如上图,以首页为例,管理员账户登陆状态下载入首页时间为 0.31 设置 cache 以后,再次访问首页时间降至了 0.0046,提升惊人!

写在最后

插件默认在管理员登陆状态下,F5 刷新当前页面 或者在 url 后面加入参数 ?r=y 可以删除当前页面缓存,在任意参数加入 ?c=y 可以删除全站缓存,前提都是管理员账户登陆状态下,如果您觉得删除不够彻底,可以写一个 php 放到网站上,每访问一次,即可全部清空 redis 数据库,代码如下:

<?php
//连接本地的 Redis 服务
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
//执行命令清空数据库
$redis->flushall();
?>

有点疑问

本插件开启了以后对网站的访问速度提升很大,但是对于自适应的站点,同时模板或者插件里使用了 php 函数当做条件来判断事件的时候,那么缓存后的数据就以缓存时间的参数为准了,无法做到真正的自适应。比如很多主题和插件使用了 wp_is_mobile() 参数来判断是否为移动设备,然后根据返回值来觉得展现内容,那么问题就来了,如果手机用户先访问自适应站点,触发了缓存,这个时候 redis 里的缓存为手机用户要看的内容,如果在此以后电脑用户再访问的话看到的也是手机用户的内容,这样很不科学。反之亦然,PC 缓存 手机访问的话看到的是 PC 内容,那么怎么才能杜绝此类现象的出现呢?


服务器租用(www.fuwuqizuyong.cc) , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明:WordPress 启用 Redis 为网站加速,WordPress 提速教程实战
服务器租用
喜欢 (4)
[]
分享 (0)
服务器租用
关于作者:
服务器租用专注为广大站长与网友朋友分享建站教程、SEO优化文章、网站模板资源、服务器软件(Web环境、建站程序)等,另外为大家推荐各种国内外服务器、香港服务器、虚拟主机、域名购买优惠信息与服务器相关知识。
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到