有没有一种方法可以缓存小部件。例如,如果您将widget放在大容量网站上,则每次有人访问该站点时,都会调用您的服务器来获取widget代码。这样,我的服务器可能会超载,仅仅是为了显示小部件。我可以缓存小部件HTML代码,并将其放在一些服务器上,如Akamai。任何建议或小贴士都非常感谢。
提前谢谢。
发布于 2010-05-03 15:41:30
您当然可以,但您需要能够以某种方式获得小部件。我也发现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标记的链接。根据您选择的语言,这一部分会有很大的不同。
https://stackoverflow.com/questions/2756653
复制相似问题