我们一直在努力

WordPress:Memcached 内存缓存优化 ,加速WordPress 后台媒体库加载

wordpress网站媒体库的图片随着文章的增长,会越来越多,有时候不断的去翻几个月前的图片进行引用,发现显示特别慢,原来这个内存缓存并没有缓存媒体库月份筛选附件功能这里。今天就跟大家分享下如何使用 Memcached 内存缓存优化 WordPress 后台媒体库加载。

WordPress 是直接通过查询数据库来获取博客的附件的月份,这样每次打开媒体库,或者添加媒体,打开「添加媒体」弹窗时候,都会到数据库去查询。用起来会有那么点卡顿,当然了,某些人连内存缓存都没开的,估计也不在乎这些卡顿。

1651287965 Wordpress

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

虽然不会造成很大的问题,但是附件如果不新增删除,这个月份的数据基本不会变化,站长是用 WPJAM 插件配合 Memcached 将其缓存起来。不说有什么特殊效果,至少自己添加起媒体文件总舒服很多吧!

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

// 使用 Memcached 内存缓存优化 WordPress 后台媒体库月份获取加载 - https://www.52pchome.com/15115.html
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;
});

当然,你要是觉得不想要了,也可以删除后台媒体库附件月份的缓存。

// 删除后台媒体库附件月份的缓存 - https://www.52pchome.com/15115.html
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');

 

博客声明与版权说明
重要声明
内容性质说明
本博客专注于记录博主个人对服务器产品的测评体验与相关优惠资讯,不从事任何主机、服务器租赁业务,不参与任何交易,亦非中介机构。博客所载信息均来源于网络公开渠道或服务商主动提供,仅供个人记录与交流之用。
免责声明
本博客对所刊载内容不作任何明示或默示的保证(包括但不限于准确性、完整性、时效性),内容不构成任何购买、使用建议或引导。访问者请自行甄别信息,独立作出判断并承担相应风险。
合规使用要求
访问本博客请严格遵守中华人民共和国及所在地区有关互联网的各项法律法规。严禁利用本博客提及的任何内容从事违法违规活动,由此产生的一切法律责任与后果由行为人自行承担。
访问资格
未成年人及不具备独立承担法律责任能力的个人或群体请勿访问本博客。
协议生效
您一旦访问本博客,即视为您已充分阅读、理解并同意接受本声明的全部条款。
版权声明
本站原创内容采用 知识共享 署名 - 非商业性使用 - 相同方式共享 4.0 国际许可协议(CC BY-NC-SA 4.0) 进行授权。
转载、引用请注明原文出处与作者信息。
文章名称:《WordPress:Memcached 内存缓存优化 ,加速WordPress 后台媒体库加载》
文章链接:https://www.52pchome.com/15115.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。