在检索整个保存的数据之前,有没有办法检查瞬态是否存在?
根据此页面http://codex.wordpress.org/Transients_API,要检查是否已成功检索保存的瞬态值,请使用以下代码:
if ( false === ( $value = get_transient( 'value' ) ) ) {
// this code runs when there is no valid transient set
}
但是假设如果可用,将使用检索到的数据。当使用Transient API缓存数百个网页并且仅在缓存仍然存在时才需要检查,检索所有数据是不切实际的。我不确定它是如何影响速度和内存的,但一般来说,尺寸越大,速度越慢,消耗的内存越多。
所以我想知道是否有一种简单的方法来检查它是否被保存或者不像empty()
函数那样。
感谢您提供的信息。
答案 0 :(得分:5)
这只会检索到期时间。
$your_transient = 'your_transient';
$data_timeout = get_option('_transient_timeout_' . $your_transient);
if ($data_timeout < time())
echo 'it is expired.';
else
echo 'there is a transient';
答案 1 :(得分:2)
如果(!get_transient('value'))应该完成这项工作,它会检查瞬态是否存在或已过期。