2016-08-26 2 views
0

Я делаю GET API, затем у меня 1000 учетных записей.Рендеринг огромного набора данных из API в таблицу

enter image description here

Затем я использую datatable визуализацию моего стола, как это.

enter image description here


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


Я, безусловно, открыт для всех отзывов и предложений об этом процессе.


Вот мои настройки DataTable

var account_table = $('#account-table').DataTable({ 
    "bPaginate": true, 
    "processing": true, 
    "serverSide": true, 
    "ajax": "scripts/server_processing.php", 
    "deferLoading": 10, 

}); 

Для "Аякса": "Сценарии/server_processing.php", так как я использую API, я могу просто сделать

"Аякса": "https://jsonblob.com/57c08bb2e4b0dc55a4f0eec7" ????

Вот вся моя выборка данных: https://jsonblob.com/57c08bb2e4b0dc55a4f0eec7

+0

является https://datatables.net/reference/option/deferLoading вариант? – saj

+0

Какова длина (байты) этих 1000 записей? Сколько времени занимает запрос на сервер? – Dekel

+0

@Dekel: На данный момент запрос занял менее 1 секунды, чтобы вернуться к 1000 объектам учетных записей. – ihue

ответ

1

Наиболее определенно самая медленная часть этого процесса получения этих счетов через Интернет.

Вместо того, чтобы запрашивать их каждый раз, вы можете кэшировать их и запрашивать их только раз в x времени.

псевдокод

function getAccounts() { 
    if (!cache.has("accounts")) { 
     // supposedly cache data for 1 hour 
     cache.set("accounts", getAccountsFromAPI(), 3600); 
    } 

    return cache.get("accounts"); 
} 
+0

Спасибо за ваше предложение. Хотя ** Caching ** выглядит хорошо в этой ситуации, но что делать, если пользователи создают/обновляют учетную запись, тогда я буду вести учетную информацию наших учетных записей. Как мне с этим справиться? любое дальнейшее предложение относительно кэширования? – ihue

Смежные вопросы