можно ли кэшировать виджеты? - PullRequest
0 голосов
/ 03 мая 2010

Есть ли способ кеширования виджетов. Например, если вы размещаете свои виджеты на больших сайтах, то каждый раз, когда кто-то посещает этот сайт, на ваш сервер будет звонить, чтобы получить код виджета. Таким образом, мой сервер может быть перегружен только для отображения виджета. Могу ли я кэшировать HTML-код виджета и разместить его на каком-нибудь сервере, например Akamai. Любые предложения или советы высоко ценятся.

Заранее спасибо.

1 Ответ

0 голосов
/ 03 мая 2010

Вы, конечно, могли бы, но вам нужно было бы каким-то образом получить доступ к виджетам. Я также обнаружил гораздо более высокую производительность (более быстрый отклик, более быструю загрузку) у 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 в базе данных и генерирует ссылки с соответствующим тегом rel, извлекая это значение из чего-то быстрого, например Memcached. Эта часть будет сильно различаться в зависимости от выбранного вами языка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...