Частота опроса AJAX - для длительного опроса или нет?

Я создаю компонент веб-страницы, который требует относительно постоянного опроса базы данных . Я вижу два разных подхода к этому, и мне интересно, один из них лучше других, или мне не хватает третьего варианта.

1) Отправлять AJAX-запрос каждые 1-2 секунды, чтобы проверьте обновления. Каждый запрос немедленно возвращается независимо от наличия новых данных.
m создание компонента веб-страницы, который требует относительно постоянного опроса базы данных. Я вижу два разных подхода к этому, и мне интересно, один из них лучше других, или мне не хватает третьего варианта.

1) Отправлять AJAX-запрос каждые 1-2 секунды, чтобы проверьте обновления. Каждый запрос немедленно возвращается независимо от наличия новых данных.
m создание компонента веб-страницы, который требует относительно постоянного опроса базы данных. Я вижу два разных подхода к этому, и мне интересно, один из них лучше других, или мне не хватает третьего варианта.

1) Отправлять AJAX-запрос каждые 1-2 секунды, чтобы проверьте обновления. Каждый запрос немедленно возвращается независимо от наличия новых данных.
2) Отключить один запрос AJAX, который не вернется, пока не получит данные или не истечет время ожидания. При любом из этих событий запускается следующий запрос. (Я думаю, это называется длинным опросом?)

Количество запросов к базе данных будет таким же, но с №2 будет меньше запросов, запускаемых из браузера, что может сэкономить полосу пропускания и ресурсы клиента. Для сервера: лучше ли иметь один PHP-запрос, который остается активным и спит между запросами, или который запускается каждые несколько секунд, опрашивает БД, а затем отключается? Или нет никакой разницы, и я слишком сильно об этом беспокоюсь?

РЕДАКТИРОВАТЬ: Полагаю, я должен также указать, что это виджет чата более крупного веб-приложения. Небольшая задержка в общении не убьет пользователя, так как чат - это второстепенная функция. print_r ($ variables ["thelistitems"]); Выходной массив ([0] => Array ([productid] ...

Я хочу получить доступ к индексу 'memo' в ассоциативном массиве PHP ниже

$variables["thelistitems"];
print_r($variables["thelistitems"]);

Output

Array
(
    [0] => Array
    (
        [productid] => prod:c6dbdd62-dc13-6421-5a94-c8cd871a59d3 
        [memo] => dummy 
        [taxable] => 0 
        [unitweight] => 0 
        [unitcost] => 450.02 
        [unitprice] => 445.02 
        [quantity] => 1
    )
) 
9
задан BoltClock 1 October 2010 в 18:41
поделиться