编辑整理:整理来源:360问答,浏览量:92,时间:2023-02-25 17:15:01
wordpress 缓存规则,wordpress 缓存规则,wordpress 缓存规则
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分开缓存的问题?
cdn缓存规则一般php都是 0秒,jpg等图片都是 30天或者再少一点。主要是你不经常修改图片就这么设置就没问题了。
js和css也是30天就行了。看下面图片是我自己用的设置方法你,应该对你有帮助了。
留言或看博客内容,老魏写过不少详细的文章,可以帮委放引钱派助入门。