gpt4 book ai didi

wordpress - 如何使 wordpress 瞬变过期

转载 作者:行者123 更新时间:2023-12-02 00:46:16 25 4
gpt4 key购买 nike

我想编写更新查询来使 transient 过期。我将在 wordpress 选项表中将他们的时间更新为 1。

我有以名称 re_compare 开头的瞬变,并在参数更改后休息。

我的更新查询是

$wpdb->update( 
'options',
array(
'option_value' => '1', // string

),
array( 'option_name' => '%re_compare%' )

);

它不工作。基本上我想删除/终止已经存在的瞬变。

但是,如果我从选项表中删除瞬变,它们仍会显示在瞬变管理器插件中。所以想到将它们的过期时间设置为 1 秒。

最佳答案

不建议通过纯 SQL 从选项表中删除或修改瞬变。为什么?因为数据库实际上是存储瞬变的默认回退位置,而不是主要位置。如果有任何可用的对象缓存,则 transient 存储在那里,而不是在数据库中。因此,在您的情况下,很可能是这种情况 - 您正在从选项表中删除它们,但它们实际上是从对象缓存中读取的。

一般来说,您不必担心瞬变过期。 WordPress 有一个垃圾收集器可以自动清除它们。

如果 transients 中的数据变得陈旧并且您需要在它过期之前更新它,请为此使用 API 函数:

delete_transient( 'your_transient_name' );

另请注意,过期时间是 transient 可以存活的最大时间段。过了那段时间,它永远不会返回存储的值。但是,由于对象缓存逐出、数据库升级等原因,它可能在到期时间之前很久就不可用了。

所以,简而言之:

  • 过期时间是瞬时调用将停止返回值的 future 最大点
  • 可能由于其他原因,在过期时间到来之前很久就丢失了

处理瞬变的经验法则是:

  1. 使用 API 函数设置 transient
  2. 将过期时间设置为您绝对不希望它再有效的时间
  3. 如果您这边的数据发生变化(并且很可能会再次生成),请使用 API 函数将其删除
  4. 或者等着自然过期
  5. 稍后会被WP垃圾回收
  6. 在过期时间到来之前,不要指望它们始终可供您使用。不能保证它们会持续存在。

关于wordpress - 如何使 wordpress 瞬变过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43556957/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com