我应该将瞬变与W3总缓存APC缓存一起使用吗?

时间:2012-08-22 作者:Ronin

我应该在这样的查询中使用瞬态吗?

<?php 
if ( ! $my_paged = absint( get_query_var( \'paged\' ) ) )
$my_paged = 1;

if ( ! $my_query = get_transient( "567recent_$my_paged" ) ) {
    $my_query = new WP_Query ( "cat=2526&posts_per_page=1&paged=$my_paged" );
    set_transient( "567recent_$my_paged", $my_query, 60 * 60 );
}
while ($my_query->have_posts()) : $my_query->the_post(); ?> 
如果是这样的话,我是否可以将W3 Total Cache与数据库缓存一起使用,并启用APC?

1 个回复
SO网友:bueltge

这个Transient API 将数据保存在数据库中,但效果不如APC, 但APC可以使用与瞬态相似的工作流。检查APC是否可用并处于活动状态非常重要,以便其功能可用。由于情况并非总是如此,因此需要考虑通过瞬态API向APC添加一个替代方案,并将这两个缓存选项组合到一个工作流中。这将确保存在可用的缓存机制,即使APC不可用-如果您计划分发代码并希望确保缓存在不同的环境中工作,这是一种很好的做法。如果它仅用于您自己的需求,并且您可以控制设置,并且服务器上的APC可用并激活,那么您只能使用APC变体,因为您知道它可以工作并且速度更快。

下面的代码显示了APC的示例用法:

设置缓存WP瞬态API:

set_transient( $transientname,$go,3600 );

使用APC:

apc_add( $transientname,$go,3600 );

也用于删除WP瞬态API:

delete_transient( $transientname );

使用APC:

apc_delete( $transientname );

缓存查询

$cachequery  = \'blog_id_\' . $blog->ID;
$cacheexpire = 1800;

if ( $mypost = apc_fetch( $cachequery ) ) {
   echo "<!-- cached query -->";
} else {
   $mypost = query_posts( $args );
   apc_store( $cachequery, $mypost, $cacheexpire );
   echo "<!-- caching this -->";
}
APC文档参见documentation of APC 有关更多信息和功能。

结束

相关推荐

如何在wp-Query中比较不同的时间戳以获取事件自定义帖子类型?

我有一个带有自定义元数据库的自定义帖子类型(as seen on wptheming.com) 并且希望进行查询以显示即将发生的事件,例如在侧边栏中,过去的日期被忽略。但我需要一个当前时间的值来和事件开始时间进行比较。现在我从current_time(\'mysql\') 看起来是这样的:2012-02-16 13:15:31元的开始时间如下所示:201108121100如何使这两个日期具有可比性?我可以在查询中执行吗?或者是否有其他解决方案?以下是我到目前为止的查询(值留空,时间戳回显):<?ph

我应该将瞬变与W3总缓存APC缓存一起使用吗? - 小码农CODE - 行之有效找到问题解决它

我应该将瞬变与W3总缓存APC缓存一起使用吗?

时间:2012-08-22 作者:Ronin

我应该在这样的查询中使用瞬态吗?

<?php 
if ( ! $my_paged = absint( get_query_var( \'paged\' ) ) )
$my_paged = 1;

if ( ! $my_query = get_transient( "567recent_$my_paged" ) ) {
    $my_query = new WP_Query ( "cat=2526&posts_per_page=1&paged=$my_paged" );
    set_transient( "567recent_$my_paged", $my_query, 60 * 60 );
}
while ($my_query->have_posts()) : $my_query->the_post(); ?> 
如果是这样的话,我是否可以将W3 Total Cache与数据库缓存一起使用,并启用APC?

1 个回复
SO网友:bueltge

这个Transient API 将数据保存在数据库中,但效果不如APC, 但APC可以使用与瞬态相似的工作流。检查APC是否可用并处于活动状态非常重要,以便其功能可用。由于情况并非总是如此,因此需要考虑通过瞬态API向APC添加一个替代方案,并将这两个缓存选项组合到一个工作流中。这将确保存在可用的缓存机制,即使APC不可用-如果您计划分发代码并希望确保缓存在不同的环境中工作,这是一种很好的做法。如果它仅用于您自己的需求,并且您可以控制设置,并且服务器上的APC可用并激活,那么您只能使用APC变体,因为您知道它可以工作并且速度更快。

下面的代码显示了APC的示例用法:

设置缓存WP瞬态API:

set_transient( $transientname,$go,3600 );

使用APC:

apc_add( $transientname,$go,3600 );

也用于删除WP瞬态API:

delete_transient( $transientname );

使用APC:

apc_delete( $transientname );

缓存查询

$cachequery  = \'blog_id_\' . $blog->ID;
$cacheexpire = 1800;

if ( $mypost = apc_fetch( $cachequery ) ) {
   echo "<!-- cached query -->";
} else {
   $mypost = query_posts( $args );
   apc_store( $cachequery, $mypost, $cacheexpire );
   echo "<!-- caching this -->";
}
APC文档参见documentation of APC 有关更多信息和功能。

相关推荐

cannot connect database

我是wordpress的新手。我计划从我自己的php代码连接wordpress数据库。但我在尝试连接数据库时遇到问题,每次连接都会得到错误结果。im使用此代码$user_name = \"myusername\"; $password = \"password\"; $database = \"mydatabasename\"; $host_name = \"localhost\"; $connect_db=mysqli_connect($host_name, $