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

WordPress开启Redis缓存后针对手机和PC分别进行缓存

WordPress 开启 Redis 缓存后针对手机和 PC 分别进行缓存

WordPress开启Redis 缓存后浏览速度大幅提升,本博在上一篇文章也提到了如何开启 redis 缓存详见下方链接:

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

写这篇文章其实我是拒绝的。因为在此之前网上到处都是相关的文章,而且基本上千篇一律,但千篇一律的文章也能用。不过 […]

但是在开启缓存后,多少会有些bug出现,比如主题大量使用了 wp_is_mobile()函数来做判断对手机和 Pc 的界面进行区分的话,bug就更为明显了,具体bug本次不在进行重现,有很多。

那么如何解决这样的问题呢?

博主另辟蹊径,找到了解决方案——对 PC 访问和手机访问分开来进行缓存,然后根据访问者是否为移动设备来读取不同的缓存。实现方法很简单,只需简单修改 index-with-redis.php 文件,具体修改如下:

首先加入判断是否为手机设备访问的判断函数,这里直接引用了 wp 自带的判断函数,仅仅修改了函数名:

/*判断移动浏览器*/
function redis_is_mobile(){
static $is_mobile;
if( isset($is_mobile))
return $is_mobile;
if( empty($_SERVER['HTTP_USER_AGENT'])){
$is_mobile =false;
}
else if ( strpos($_SERVER['HTTP_USER_AGENT'],'Mobile')!==false
|| strpos($_SERVER['HTTP_USER_AGENT'],'Android')!==false
|| strpos($_SERVER['HTTP_USER_AGENT'],'Silk/')!==false
|| strpos($_SERVER['HTTP_USER_AGENT'],'Kindle')!==false
|| strpos($_SERVER['HTTP_USER_AGENT'],'BlackBerry')!==false
|| strpos($_SERVER['HTTP_USER_AGENT'],'Opera Mini')!==false){
$is_mobile =true;
}else{
$is_mobile =false;
}
return $is_mobile;
}

将本段代码写到 index-with-redis.php 的尾部,当然其他位置也可以。

然后在修改

$dkey = md5($domain);
$ukey = md5($url);

为:

if(!redis_is_mobile()){
$dkey = md5($domain);
$ukey = md5($url);
}elseif(redis_is_mobile()){
$dkey = md5($domain.'+mobile');
$ukey = md5($url.'+mobile');
}

保存即可,然后就试试吧,看看是不是已经解决了手机和 pc 分开缓存的问题?


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