Shortcode perfomance solution

时间:2012-05-15 作者:DarkGhostHunter

我有一个对性能至关重要的站点。在使用短代码时,我考虑了服务器解析和返回内容所需的时间,而不是允许一些HTML(<div class="redletter">) 浏览TinyMCE编辑器。与此同时,我的代码是:

// [redletter]Content[/redletter]
add_shortcode(\'redletter\', \'redletter_do\');
function redletter_do($atts, $content = null)  {
    return \'<div class="redletter"\' . do_shortcode($content) . \'</div>\';
}
无论性能是否关键,我认为没有什么比按钮更能允许<div> 直接在可视化编辑器中传递并显示-就像您按下[B]按钮<strong>.

所以,我是在保留短代码,还是在为<div class="redletter"> 并在可视化编辑器中显示结果。

2 个回复
SO网友:MathSmath

我要说的是制作按钮,但不是出于性能原因。

我认为,如果您对其进行基准测试,您会发现运行这样一个简单函数(执行一些简单字符串concat的函数)所增加的任何性能开销都是非常小的。或者,在一台像样的服务器上,至少可以降到一秒钟的分数。

如果您的负载非常高,并且担心这个级别的性能,那么您可能应该关注一个好的缓存层和一个快速的服务器。我们(我指的是我们了不起的系统管理员)最近一直在使用nginx/varnish设置,它将性能提升到了难以置信的程度。(See this guy, who got it to work very well)

当然,这不是万能的,您应该始终着眼于减少运行的查询数、请求数等。因此,我理解您的意图。您在这个问题上尝试的功能是令人钦佩的(TinyMCE按钮比短代码更好的用户体验),但我认为它在性能方面不会有多大帮助。

SO网友:DarkGhostHunter

嗯,就性能而言,我认为最好避免对数据库中的post\\u内容列进行任何“后期操作”。

这里的问题只有一个解决方案:制作一个TinyMCE插件,这是一个让人头疼但又负担得起的问题。这样,您就可以直接编辑HTML并避免短标签所做的操作。这就像是提高性能的艰难但正确的方法。

我制作了一个小小的TinyMCE插件。

结束