Set Transient expiration

时间:2014-01-22 作者:Tony Fire

我有一个页面,每天显示一篇随机的帖子。为了每24小时更换一次岗位,我使用

set_transient(\'totd_trans_post_id\', $totd[0]->ID, (60*60*24));

我想知道的是:

插入并保存代码后,是否立即开始倒计时(60*60*24)

2 个回复
最合适的回答,由SO网友:Pat J 整理而成

创建或更新瞬态后,将立即开始倒计时。

运行set_transient() 在现有瞬态值上,将重新启动时钟。每the Codex page on set_transient():

如果存在瞬态,此函数将更新瞬态的到期时间。

根据Transients API page, 到期时间为maximum 瞬态值的寿命它可以在时间结束前删除,但在时间结束后将永远不会返回其值:

瞬态可能在$过期之前过期(由于外部对象缓存或数据库升级),但在$过期之后将永远不会返回其值。

SO网友:Mark Kaplun

再加上@pat的回答,没有倒计时,时间值表示存储的值将被视为“新鲜”的最大时间量,在该时间之后,它将变为“陈旧”并被忽略。没有活动倒计时,也没有从数据库/内存中进行活动清除。这听起来像是语义学,但如果您生成了许多瞬态,这可能会变得很重要,因为它们不会自动从DB中清除自己。

结束

相关推荐

Transients API and multisite

我们正在使用Atlas HTML站点地图插件,该插件使用transients API缓存站点地图,调用如下:set_transient( \'dmac_html_sitemap\', $output, 60*60*24*7 ); 现在,我们还有一个多站点设置,我想知道瞬态存储在哪里,WP multisite是否将它们分开。它将选项分开,因为每个站点(博客)都有自己的DB表前缀(例如wp\\U 29\\U选项)。我在某个地方读到,瞬态可以用memcached存储,所以我猜后端存储是可插入的。这个问