2010-05-03 71 views
0

有没有办法缓存小部件。例如,如果您将小部件放置在大容量网站上,那么每次有人访问该站点时,都会对您的服务器进行调用以获取小部件代码。这样,我的服务器可能会得到太多的负担,只是为了显示小部件。我可以缓存Widget HTML代码并将其放置在Akamai等服务器上。任何建议或提示高度赞赏。可以缓存小部件吗?

在此先感谢。

回答

0

你当然可以,但你需要能够以某种方式获得小部件。我也发现EdgeCast与Akamai的性能更高(响应速度更快,下载速度更快)。

例如,假设您已获得表单的代码http://cdn.mysite.com/form1.html,并且用户单击了可以调出该表单的链接。

使用下面的这个脚本:

$(document).ready(function() { 
    $(".widget .trigger").click(function() { 
     url = $(this).attr("rel"); 
     $(this).parents(".widget").load(url, function() { 
      // Do what needs to be done to the widget code here 
      // Example: make it an AJAX form. 
     }); 
    }); 
}); 

再有这样的标记:

<div class="widget"> 
    <a href="javascript:void(0);" rel="http://cdn.mysite.com/form1.html">Widget Trigger</a> 
</div> 

而且有这个在您的CDN:

<form action="/ajax/hander/" method="POST"> 
    <fieldset> 
     <legend>This is a pretty cool form</legend> 
     <label for="form1input1">Make this cool:</label> 
     <input id="form3input1" name="something" type="text" /> 
     <input type="submit" value="Coolify" /> 
    </fieldset> 
</form> 

然后,您可以有一些代码服务器端将片段上传到您的CDN,将它们的URL保存在数据库中,然后生成链接通过从Memcached等快速提取该值的适当的rel标签。根据您选择的语言,该部分会有很大差异。

相关问题