Wordpress 自动删除客户会话和瞬态
我的一个客户的网站速度太慢了,等待时间是6到7秒。我找到了根本原因,这是因为Wordpress 自动删除客户会话和瞬态,wordpress,woocommerce,Wordpress,Woocommerce,我的一个客户的网站速度太慢了,等待时间是6到7秒。我找到了根本原因,这是因为wp_options表中填充了大量客户会话数据,将表大小增加到1.7GB。删除200万行需要6-7个小时。我知道我现在可以通过进入woocomece>System Status>Tools>Clear allsessions&Clear transients手动删除会话和瞬态,但我希望在一两天后自动完成。有什么可以做的吗,比如创建cron作业等等? 谢谢也许你应该试试这个插件: 很长一段时间以后,但安泽会帮助别人的 下面
wp_options表
中填充了大量客户会话数据,将表大小增加到1.7GB。删除200万行需要6-7个小时。我知道我现在可以通过进入woocomece>System Status>Tools>Clear all
sessions&Clear transients手动删除会话和瞬态,但我希望在一两天后自动完成。有什么可以做的吗,比如创建cron作业
等等?
谢谢也许你应该试试这个插件:
很长一段时间以后,但安泽会帮助别人的 下面的代码将每天执行(从您当前的时间开始),clean会话/购物车将继续运行
// clean cart every day
if (!wp_next_scheduled('cron_wc_clean_cart')) {
wp_schedule_event( time(), 'daily', 'cron_wc_clean_cart' );
}
add_action ( 'cron_wc_clean_cart', 'wc_clean_session_cart' );
function wc_clean_session_cart() {
global $wpdb;
$wpdb->query( "TRUNCATE {$wpdb->prefix}woocommerce_sessions" );
$wpdb->query( "DELETE FROM {$wpdb->usermeta} WHERE meta_key='_woocommerce_persistent_cart_" . get_current_blog_id() . "';" );
wp_cache_flush();
}
对于瞬态,其在wc中的功能是:
wc_delete_expired_transients()
该插件可以从WooCommerce 2.4版和更早版本中删除过时的会话,而WP Optimize不提供这些功能。我有18816次这样的争吵。非常感谢。