W3总缓存-以编程方式进行缓存刷新

时间:2011-01-17 作者:user1567

我正在WordPress上建立一个类似Digg的网站。

在安装了W3 Total Cache之后,我注意到某些元素,例如每个帖子的投票数(和投票者ID)都被缓存了,尽管它们不应该被缓存(至少在用户为一篇文章投票之后)。我假设不可能阻止缓存页面中的特定元素(或者是吗?),因此,我考虑通过编程方式触发页面缓存刷新。

有什么建议吗?

6 个回复
SO网友:Bainternet

如果你想刷新缓存,你可以这样做:插件有相应的功能

<?php 

flush_pgcache()  //page cache
flush_dbcache()  // database cache
flush_minify()  // minify cache
flush_all() //all caches

?>
你只需要这样称呼它:

<?php 
 $w3_plugin_totalcache->flush_all();
?>
这基本上就是标题“以编程方式刷新缓存”中问题的答案

SO网友:Kevin Leary

贝因特的解决方案似乎对我不起作用。

我在插件中成功地使用了这个替代代码段,该插件在admin_init 措施:

// Clear all W3 Total Cache
if( class_exists(\'W3_Plugin_TotalCacheAdmin\') )
{
    $plugin_totalcacheadmin = & w3_instance(\'W3_Plugin_TotalCacheAdmin\');

    $plugin_totalcacheadmin->flush_all();

    echo __(\'<div class="updated"><p>All <strong>W3 Total Cache</strong> caches successfully emptied.</p></div>\');
}
希望这对其他人有所帮助。

SO网友:user806052

在w3tc v0中通过post id刷新单个页面。9.3我发现这是可行的:

if (function_exists(\'w3tc_pgcache_flush_post\')){
 w3tc_pgcache_flush_post($post_id);
}

SO网友:Rarst

W3 Total缓存支持片段缓存。来自常见问题:

How do I implement fragment caching? 

Edit your templates to with the following syntax to ensure that dynamic features remain so:

Example 1:
<!-- mfunc any PHP code --><!-- /mfunc -->

Example 2:
<!-- mfunc -->any PHP code<!-- /mfunc -->

Example 3:
<!--MFUNC           -->
                                      echo rand();
<!--/mfunc -->

Example 4:
<!-- mclude path/to/file.php --><!-- /mclude -->

Example 5:
<!-- mclude -->path/to/file.php<!-- /mclude -->

SO网友:Elrinth

以上这些在我的插件中都不适用。然而,这起作用了!已确认适用于w3tc版本0.9.2.4。

if (function_exists(\'w3tc_dbcache_flush\')) { w3tc_dbcache_flush(); }
我做了一个“$wpdb->get\\u results”(“选择sb_settings.f_fb_app_id,sb_settings.f_fb_secret 从…起sb_settings“)令我惊讶的是,f\\u fb\\u secret和f\\u fb\\u app\\u id的值每次都是一样的。显然是w3tc缓存了查询结果。因此,我在sb\\U设置表的修改页面中添加了dbcache刷新。

如果要清除页面缓存,则只需使用w3tc\\U pgcache\\U flush即可。

SO网友:Dominic

使用此代码段可以确保PHP运行,无论缓存是打开还是关闭。是的,您必须编写/调用函数两次。

<!-- mfunc echo \'caching ON\'; --><?php echo \'caching OFF\'; ?><!-- /mfunc -->

(我想)这就是它的工作原理:

mfunc条件替换php标记OFF, mfunc中的php注释以HTML注释的形式出现在标记中。<!-- mfunc echo "hello?"; --> 请记住这一点,这取决于您对人们看到您的PHP有多高兴(只有在缓存关闭时才会发生)

相关推荐

Nginx+WordPress+HHVM:为什么Batcache不能工作?瓦尼什会提供更多帮助吗?

我听说了很多关于HHVM, 所以我用Nginx(带Pagespeed模块)和HHVM设置了WordPress博客的副本(在另一个域上)。现在,好处是显而易见的:在相同的配置上,加载时间要快两到三倍。我正在努力加快速度,我还安装了Memcached and Batcache. 我已经安装了memcached 包,已复制对象缓存。php(Pastebin) 在WordPress博客的根文件夹上,然后我安装了Batcache插件并复制了高级缓存。php(Pastebin) 将文件保存到wp content文件夹

W3总缓存-以编程方式进行缓存刷新 - 小码农CODE - 行之有效找到问题解决它

W3总缓存-以编程方式进行缓存刷新

时间:2011-01-17 作者:user1567

我正在WordPress上建立一个类似Digg的网站。

在安装了W3 Total Cache之后,我注意到某些元素,例如每个帖子的投票数(和投票者ID)都被缓存了,尽管它们不应该被缓存(至少在用户为一篇文章投票之后)。我假设不可能阻止缓存页面中的特定元素(或者是吗?),因此,我考虑通过编程方式触发页面缓存刷新。

有什么建议吗?

6 个回复
SO网友:Bainternet

如果你想刷新缓存,你可以这样做:插件有相应的功能

<?php 

flush_pgcache()  //page cache
flush_dbcache()  // database cache
flush_minify()  // minify cache
flush_all() //all caches

?>
你只需要这样称呼它:

<?php 
 $w3_plugin_totalcache->flush_all();
?>
这基本上就是标题“以编程方式刷新缓存”中问题的答案

SO网友:Kevin Leary

贝因特的解决方案似乎对我不起作用。

我在插件中成功地使用了这个替代代码段,该插件在admin_init 措施:

// Clear all W3 Total Cache
if( class_exists(\'W3_Plugin_TotalCacheAdmin\') )
{
    $plugin_totalcacheadmin = & w3_instance(\'W3_Plugin_TotalCacheAdmin\');

    $plugin_totalcacheadmin->flush_all();

    echo __(\'<div class="updated"><p>All <strong>W3 Total Cache</strong> caches successfully emptied.</p></div>\');
}
希望这对其他人有所帮助。

SO网友:user806052

在w3tc v0中通过post id刷新单个页面。9.3我发现这是可行的:

if (function_exists(\'w3tc_pgcache_flush_post\')){
 w3tc_pgcache_flush_post($post_id);
}

SO网友:Rarst

W3 Total缓存支持片段缓存。来自常见问题:

How do I implement fragment caching? 

Edit your templates to with the following syntax to ensure that dynamic features remain so:

Example 1:
<!-- mfunc any PHP code --><!-- /mfunc -->

Example 2:
<!-- mfunc -->any PHP code<!-- /mfunc -->

Example 3:
<!--MFUNC           -->
                                      echo rand();
<!--/mfunc -->

Example 4:
<!-- mclude path/to/file.php --><!-- /mclude -->

Example 5:
<!-- mclude -->path/to/file.php<!-- /mclude -->

SO网友:Elrinth

以上这些在我的插件中都不适用。然而,这起作用了!已确认适用于w3tc版本0.9.2.4。

if (function_exists(\'w3tc_dbcache_flush\')) { w3tc_dbcache_flush(); }
我做了一个“$wpdb->get\\u results”(“选择sb_settings.f_fb_app_id,sb_settings.f_fb_secret 从…起sb_settings“)令我惊讶的是,f\\u fb\\u secret和f\\u fb\\u app\\u id的值每次都是一样的。显然是w3tc缓存了查询结果。因此,我在sb\\U设置表的修改页面中添加了dbcache刷新。

如果要清除页面缓存,则只需使用w3tc\\U pgcache\\U flush即可。

SO网友:Dominic

使用此代码段可以确保PHP运行,无论缓存是打开还是关闭。是的,您必须编写/调用函数两次。

<!-- mfunc echo \'caching ON\'; --><?php echo \'caching OFF\'; ?><!-- /mfunc -->

(我想)这就是它的工作原理:

mfunc条件替换php标记OFF, mfunc中的php注释以HTML注释的形式出现在标记中。<!-- mfunc echo "hello?"; --> 请记住这一点,这取决于您对人们看到您的PHP有多高兴(只有在缓存关闭时才会发生)

相关推荐

Wp_cache_set不工作有什么原因吗?

wp\\u cache\\u设置不工作的原因是什么?我一直在转动车轮,试图弄明白为什么这些都不起作用。有什么建议吗?这些函数旨在帮助我将结果缓存到键/对象,然后利用键/对象显示信息。但是,它们不存储密钥/对象$related_post_ids = wp_cache_get( \'related_post_ids\' ); if ( false === $related_post_ids ) { //seting args and run query $the_query = new