Set Transient expiration 时间:2014-01-22 作者:Tony Fire 我有一个页面,每天显示一篇随机的帖子。为了每24小时更换一次岗位,我使用set_transient(\'totd_trans_post_id\', $totd[0]->ID, (60*60*24)); 我想知道的是:插入并保存代码后,是否立即开始倒计时(60*60*24)如果是:如果让代码运行23个小时,然后决定“更新”代码,会发生什么。倒计时会重新开始吗如果48小时内没有人访问该网站,是否仍会过期?还是有人必须在24小时后访问才能“运行”它 2 个回复 最合适的回答,由SO网友:Pat J 整理而成 创建或更新瞬态后,将立即开始倒计时。运行set_transient() 在现有瞬态值上,将重新启动时钟。每the Codex page on set_transient():如果存在瞬态,此函数将更新瞬态的到期时间。根据Transients API page, 到期时间为maximum 瞬态值的寿命它可以在时间结束前删除,但在时间结束后将永远不会返回其值:瞬态可能在$过期之前过期(由于外部对象缓存或数据库升级),但在$过期之后将永远不会返回其值。 SO网友:Mark Kaplun 再加上@pat的回答,没有倒计时,时间值表示存储的值将被视为“新鲜”的最大时间量,在该时间之后,它将变为“陈旧”并被忽略。没有活动倒计时,也没有从数据库/内存中进行活动清除。这听起来像是语义学,但如果您生成了许多瞬态,这可能会变得很重要,因为它们不会自动从DB中清除自己。 结束 文章导航