使用内存缓存优化 WordPress 后台媒体库加载

  |   2019年10月16日 |  Wordpress相关 |   评论已关闭 |   24

使用内存缓存优化 WordPress 后台媒体库加载,

内存缓存可以优化 WordPress 很多功能,让你的 WordPress 变得更快,接下来我们会通过一系列文章来讲解我是如何使用 Memcached 来深度优化 WordPress。

WordPress 的媒体库月份筛选功能

WordPress 后台媒体库有个按照月份筛选附件功能,如下图:

WordPress 的媒体库月份筛选功能

WordPress 是直接通过查询数据库来获取博客的附件的月份,这样每次打开媒体库,或者添加媒体,打开「添加媒体」弹窗时候,都会到数据库去查询。

使用内存缓存优化媒体库月份获取

虽然不会造成很大的问题,但是附件如果不新增删除,这个月份的数据基本不会变化,我们可已通过 Memcached 将其缓存起来。

将下面的代码复制到当前主题的 functions.php 文件中,就可以使用内存来缓存媒体库的月份了:

// 缓存获取附件的月份。
add_filter('media_library_months_with_files', function($months){
	$months	= get_transient('wpjam_media_library_months');

	if($months === false) {
		global $wpdb;

		$months = $wpdb->get_results("SELECT DISTINCT YEAR( post_date ) AS year, MONTH( post_date ) AS month FROM $wpdb->posts WHERE post_type = 'attachment' ORDER BY post_date DESC");

		set_transient('wpjam_media_library_months', $months, WEEK_IN_SECONDS);
	}

	return $months;
});

// 删除附件月份的缓存
function wpjam_delete_media_library_months_cache(){
	delete_transient('wpjam_media_library_months');
}
add_action('edit_attachment',	'wpjam_delete_media_library_months_cache');
add_action('add_attachment',	'wpjam_delete_media_library_months_cache');
add_action('delete_attachment',	'wpjam_delete_media_library_months_cache');

插件已经集成了 Memcached, 之后,将 wpjam-basic/template/ 目录下的 object-cache.php 文件复制到 wp-content 目录下即可。

专题::

  • 使用内存缓存优化 WordPress 后台媒体库加载

本站推荐使用的主机:,国外主机建议使用。


转载请注明出处:http://ituq.cn/11602.html

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

ad
有需要可以关注公众号:“技术的世界” 分享最新技术教程,解答技术问题,有任何问题在公众号上提问,抽空会尽力解答。 另外想要什么资源,可以回复“资源”或者私信后台,可以获得丰厚的资源包哦