学习下面的教程需要你的服务器支持memcached内存缓存,并且个人对WordPress函数有一定理解,否则改坏了程序,网站跑不起来别赖我,再提醒一句,一定要提前快照,切记!
在进入高级教程前我们需要先了解3个WordPress函数,它们分别是:
- wp_cache_set() 把数据写到缓存中。
- wp_cache_get() 读取缓存数据。
- wp_cache_delete() 删除缓存。
它们需要用到如下四个参数
这些函数会涉及到的四个参数:
- $key: 对象的 key。
- $data: 要存的值。
- $group: 分组,可选参数,用来把缓存对象就行分组。
- $expire: 过期时间,可选参数,如果是默认缓存,这个函数没用,如果是内存缓存,是设置缓存的时间,单位是秒,默认为0(0的意思就是永远,不会自动过期)。
基本使用
$data = wp_cache_get("缓存key",'缓存分组'); if(false === $data ){ $data = wp_get_related_posts();//缓存数据获取 wp_cache_set('缓存key',$data ,'缓存分组',3600); } echo $data ;
上面的代码意思是,当我们加载网页时会调用WordPress函数获取数据,遇到加载数据就先从缓存中取我们需要的数据,然后判断有没有从缓存中取出数据,没有就再通过查询获取数据,有就直接使用缓存数据,这样就避免了多次sql查询,减少查询次数,降低页面生成时间。
如果需要更新缓存,只需要删除原来的缓存数据,再次访问时会自动生成新缓存。
wp_cache_delete('缓存key','缓存分组');
好了,学会如何使用WordPress的缓存函数后,我们还需要对我们的主题进行调试DEBUG,上面的操作已经让我们的主题查询次数大大降低,比如我的大前端主题首页就从2200+查询降低至11次查询。怎么找到WordPress没有缓存的函数位置这里就不多讲了,我不是为了讲主题调试的。我在大前端主题header文件中找到5处不会自动生成缓存的地方,为了降低sql查询,我们就为这几处修改代码,实现缓存。
大前端dux主题中加载body标签的class时使用了body_class(_bodyclass())这个函数,这个代码不会被缓存,因为它会根据每个页面不同生成不同的class属性,应该就是这个原因导致WordPress没有对它进行缓存(我猜的),我们自己写上判断页面,然后使用上面的代码进行缓存与调用即可
- 赞助本站
- 微信扫一扫
-
- 加入Q群
- QQ扫一扫
-
评论