这位过路人怎么了?未按预期进行缓存

时间:2014-03-12 作者:EHerman

我正在尝试使用WP\\u query缓存查询返回的数据。

在我指定的时间附近,它似乎没有存储任何内容。有时它会在每次加载页面时刷新。

我可能做错了什么?

<?php 
    // get our transient data if it exists
    // prevents pummelling the database with multiple random queries
    $tipsloop = get_transient (\'homepage_tipsloop\');
    if (!$tipsloop )
      {
       echo \'THIS IS NEW TRANSIENT DATA\';
       $tipsloop = new WP_Query( array( \'cat\' => \'8\', \'posts_per_page\' => \'1\' , \'orderby\' => \'rand\') ); 
       set_transient (\'homepage_tipsloop\' , $tipsloop , MINUTE_IN_SECONDS * 5 ); // cached for 5 minutes
      }
?>

<!-- // Tips Loop -->
<?php while ($tipsloop->have_posts()) : $tipsloop->the_post(); 
    echo get_the_post_thumbnail($page->ID, \'homefooter-thumb\'); ?>
      <div class="home-hotspots-tipscopy">
        <?php the_content(); ?>
      </div>
<p>
      <a href="/category/tips/">MORE TIPS</a>
    </p>
<?php endwhile;  ?>

1 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

我已经把我的评论变成了答案。请接受作为解决方案。改变set_transient (\'homepage_tipsloop\' , $tipsloop , MINUTE_IN_SECONDS * 5 );set_transient (\'homepage_tipsloop\' , $tipsloop , 5 * MINUTE_IN_SECONDS );codex

结束

相关推荐

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存储,所以我猜后端存储是可插入的。这个问