2010-05-03 4 views
0

Existe-t-il un moyen de mettre en cache les widgets. Par exemple, si vous placez vos widgets sur des sites Web volumineux, chaque fois que quelqu'un accède à ce site, un appel sera effectué sur votre serveur pour obtenir le code du widget. De cette façon mon serveur peut être trop surchargé juste pour afficher le widget. Puis-je mettre en cache le code HTML du widget et le placer sur un serveur comme Akamai. Toutes les suggestions ou des conseils très appréciés.est-ce que les widgets peuvent être mis en cache?

Merci d'avance.

Répondre

0

Vous le pourriez, mais vous devriez pouvoir accéder aux widgets d'une façon ou d'une autre. J'ai trouvé beaucoup plus de performance (réponse plus rapide, téléchargements plus rapides) de EdgeCast contre Akamai, aussi. Par exemple, vous avez le code pour un formulaire à http://cdn.mysite.com/form1.html et un utilisateur clique sur un lien qui afficherait ce formulaire.

Utilisez quelque chose comme ceci comme un script:

$(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. 
     }); 
    }); 
}); 

Et ont alors ce balisage:

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

Et cette sur votre 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> 

Vous pouvez alors du côté du serveur de code qui télécharge des extraits sur votre CDN, enregistre leur URL dans une base de données et génère les liens avec l'étiquette rel appropriée en tirant cette valeur de quelque chose de rapide comme Memcached. Cette partie varie grandement en fonction de la langue de votre choix.

Questions connexes