wordpress提升内存缓存提升wordpressblog统计分析高效率主题风格文章提升
Memcached 内存缓存能够提升 WordPress 许多作用,给你的 WordPress 越来越更快,下边频道为大伙儿详细介绍怎么使用 Memcached 来深层提升 WordPress应用内存缓存提升。
WordPress 文章浏览统计分析高效率。WordPress 默认设置的自定义字段缓存方法一般的文章浏览统计分析软件,全是应用自定义字段来储存数据信息的,假如网络服务器打开了 。Memcached 内存缓存,自定义字段的数据信息是怎么被缓存呢?WordPress 会以 $post_id 作为 cache_key,’post_meta’ 做为 cache_group 总体开展缓存。因此升级某一自定义字段,等同于该 $post_id 下的全部自定义字段的缓存都一起升级,而每一次文章浏览,这一自定义字段数据信息都是加 1,那样,每一次自定义字段的缓存都是升级,随后便会导致每一个网页页面会空出三个 SQL 查寻。应用内存缓存提升文章浏览统计分析高效率有木有方法处理这个问题呢?我们可以把文章的浏览统计分析先缓存到内存中,每一次提升10次浏览才载入数据库查询中去,那样就可以大幅度降低 WordPress 实际操作由于自定义字段变动而导致 SQL 查寻频次。将上边的编码拷贝到当今主题风格的 funtions.php 文档中:
// 升级文章浏览数的情况下,最先升级到内存中,随后每10次,才提到数据库查询中
add_filter('update_post_metadata', function($check, $post_id, $meta_key, $meta_value){
if($meta_key == 'views'){
if($meta_value % 10 != 0){
$check= true;
wp_cache_set($post_id, $meta_value, 'views');
}else{
wp_cache_delete($post_id, 'views');
}
}
return $check;
}, 1, 4);
// 获得文章浏览数的情况下,最先从内存中获得,沒有才从数据库查询中获得
add_filter('get_post_metadata', function($pre, $post_id, $meta_key){
if($meta_key == 'views'){
$views= wp_cache_get($post_id, 'views');
if($views !== false){
return [$views];
}
}
return $pre;
}, 1, 3);
此外很有可能存有一个小难题:因为 Memcached 的缓存并不是长久的,假如一不小心把将内存缓存的清除,文章的浏览数会遗失一部分,可是毫无疑问低于10了。 WPJAM Basic 软件早已集成化了 Memcached,免费下载 WPJAM Basic 以后,将 wpjam-basic/template/ 文件目录下的 object-cache.php 文档拷贝到 wp-content 文件目录下就可以。