优化缩小你的wordpress数据库手动清除Transients

前端之家收集整理的这篇文章主要介绍了优化缩小你的wordpress数据库手动清除Transients前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Transients 是临时的瞬时的意思,wp暂时存储缓存数据在数据库中通过给它一个自定义名称和时间之后,它将到期被删除。但有时,瞬变WP和无数的插件可以设定的数据库中大量的空间,使我们的wordpress数据库变得大而臃肿,查询速度变慢,使用一个简单的SQL查询,我们可以轻松删除他们,从而优化我们的WP数据库

首先,登录到你的PHPmyadmin和选择你的wordpress数据库。一旦完成,单击sql按钮打开sql命令窗口。


然后,只需粘贴下面的sql命令并执行它。

DELETE FROM `wp_options` WHERE `option_name` LIKE ('%_transient_%');

以下内容来自 我爱水煮鱼

什么是 wordpress Transients API

Transients 是瞬时的意思,wordpress Transients API 是 wordpress 用来缓存一些复杂的 sql 查询和运算结果的最简单的方法。它给这些需要缓存的数据一个过期时间,并且时间一到就会自动删除,所以如果你在制作 wordpress 插件的时候,需要存储一些有一定生命周期的数据的时候,Transients API 是最好的选择。

wordpress Transients API 缓存的数据存储在哪里

这个取决你的服务器设置,如果你的服务器开启 Memcache 这类对象缓存,那么缓存的数据就存在 Memcached 的内存中。如果没有开启的话,则存储到 wordpress 数据库的 Options 表中。

wordpress Transients API 的函数

上面说到服务器没有开启的时候,数据是存储到 Options 表中的,所以它接口函数wordpress 的 Option API (get_option,add_option,update_option,delete_option))基本一样,唯一区别就是 Transients API 有一个过期时间。所以 wordpress Transients API 有类似的以下三个函数

set_transient() // 保存一个临时数据到缓存中

get_transient() // 从缓存中获取一个临时数据

delete_transient() // 从缓存中删除一个临时数据

如果你使用函数 get_transient 去获取一个临时变量,它已经过期或者不存在,则返回 false。另外 Transients API 不会将数据库的 Options 表充满,因为临时变量一旦过期,下次获取的时候就会自动删除

wordpress Transients API 例子

假设你要获取博客的流量最高的 10 篇日志,这个要设计复杂的 sql 查询,而流量最高的 10 篇日志一般来说在一段时间(比如:12小时)之内是不会变化的,所以我们可以把这个数据通过 Transients API 先缓存了。代码如下:

function wpjam_get_top_10_posts(){

$top_10_posts = get_transient('top_10_posts');

if(false === $top_10_posts){ // 临时变量过期了或者根本就没有创建

 

// 通过 sql 查询获取流量最高的 10 篇日志,get_most_viewed 是 Postviews 插件函数函数中有负责的 sql 查询

$top_10_posts = get_most_viewed(10);

 

// 把临时变量存到数据库中,时间为 12 个小时

set_transient('top_10_posts',$top_10_posts,60*60*12);

}

return$top_10_posts;

}

其中 get_most_viewed 是插件 Postviews 的函数,它是用来获取流量最高的日志。

如果由于某种原因某篇流行日志删除,或者新的日志发布了,这个时候可能流量最高的日志都可能发生变化,我们需要使用 delete_transient 函数把这个临时变量删除了。代码如下:

add_action('publish_post','wp_top_10_posts_delete',0);

add_action('delete_post',0);

functionwp_top_10_posts_delete(){

delete_transient('top_10_posts');

}

原文链接:https://www.f2er.com/wordpress/422833.html

猜你在找的wordpress相关文章