Ho una pagina in cui elenco alcuni prodotti in base ai dati di ricerca. I prodotti mostrati non sono salvati nel database locale, ma sono presi dal vivo usando l'API (e questo è come deve rimanere).
Quando la pagina viene caricata, elenca prima i prodotti di un fornitore (prima chiamata API). Al termine del caricamento della pagina, con Ajax viene effettuata la seconda chiamata al secondo provider, l'elenco dei prodotti viene aggiunto alla pagina.
Considerando che ciascuna chiamata API richiede più di 2 secondi per restituire i dati, non posso lasciare più di 1 chiamata al caricamento della pagina.
La mia domanda è: come si fa l'impaginazione in questo scenario?
Idea 1
Effettuare l'impaginazione statica: L'impaginazione viene eseguita nel browser. Questo è molto semplice, ma con un ampio set di risultati potrebbe rallentare il dispositivo o addirittura causare un crash della pagina.
Idea 2
Al primo caricamento, metti in cache tutti i risultati e fai l'impaginazione usando il file cache (difficoltà: medio, inoltre non sarà corretto mantenere il file memorizzato nella cache troppo a lungo, poiché i dati possono cambiare frequentemente)
Idea 3
Nessuna cache, impaginazione sul server. Qui non ho idea di come farlo.
Elementi da considerare
Dopo aver scoperto l'idea alla base dell'impaginazione, dovrò aggiungere anche filtri e ordinamento.
Usando php, mysql, js.