使用内存缓存优化 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');

使用内存缓存优化媒体库月份获取功能已经整合进图片集插件;

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


版权声明:
作者:云小叔-高级程序员
链接:https://liboven.cn/393.html
来源:微芯引擎 秒加载 快如闪电
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
海报
使用内存缓存优化 WordPress 后台媒体库加载
在 WordPress 后台,点击媒体库选择图片的时候,可以按照月份筛选附件: WordPress 的媒体库月份筛选功能 这个是 WordPress 的媒体库月份筛选功能,博客的这……
<<上一篇
下一篇>>
文章目录
关闭
目 录