Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655

    mettere in cache chiamata xml

    Ciao a tutti, come da titolo dovrei mettere in cache una chiamata ad un server http che genera un xml per leggere (e importare ) dati.
    Mi e' stato chiesto di farlo ovviamente per non mandare troppe chiamate al server.

    In breve, ricevo ogni minuto circa, dati riguardanti finanza/economia e quindi frequenti aggiornamenti.
    Dato che piu' utenti useranno il servizio ci sarebbero molteplici richieste(troppe).

    Ad occhio e croce dovrebbe essere piuttosto semplice farlo ma non avendolo mai fatto magari mi sto perdendo per una stupidata.

    Per la lettura e importazione dati non c'e' problema.
    Come posso farlo?
    Grazie.

  2. #2
    Utente di HTML.it L'avatar di Secta
    Registrato dal
    May 2002
    Messaggi
    365
    La soluzione al tuo problema può essere tanto semplice quanto complessa... dipende dal tipo di cache che vuoi/devi implementare. Se vuoi semplicemente una cache lato utente, allora dai un'occhiata ai c.d. "expiration" e "validation" model (http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html) e vedi quale dei due si addice di più. Se invece vuoi anche una cache lato server, qui le cose si complicano, poiché esistono tanti modi per ottenere questo risultato. Dal tuo post mi pare di capire che disponi di due server... uno interrogato direttamente dagli utenti e uno che si preoccupa di gestire i file xml... e se ho ben inteso, tu vorresti principalmente evitare le chiamate al secondo... giusto? Dacci qualche ulteriore informazione su cosa vuoi esattamente e sulla mole di dati/utenti che ti ritrovi a gestire.
    "Dai diamanti non nasce niente, dal letame nascon fiori."
    Fabrizio De Andrè

  3. #3
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, intanto grazie per la risposta.
    Non serve cache del tipo html.
    Devo chiamare una url lato script la quale ritorna un xml che devo parsare e importare a db.
    Dato che i contenuto hanno un aggiornamento frequente, la richiesta andrebbe messa in cache. Questo e' quello che hanno chiesto di fare. Questa url avrà già delle limitazioni in quanto sarà accessibile solo da IP indicati(quindi quelli del nostro server).

    I server sono 2, quello del sito visualizzato dall'utente e quello con i dati xml(fornitore esterno)
    L'utente non interrogherà mai l'altro server ma saremo noi a mostrare i dati importati.

    Probabilmente non vogliono come già detto ricevere troppe chiamata su queste url.

  4. #4
    Utente di HTML.it L'avatar di Secta
    Registrato dal
    May 2002
    Messaggi
    365
    Stando cosi le cose la cache centra poco o nulla. Crea un crontab che ogni minuto aggiorna i dati del tuo database, in modo da avere una sola richiesta al minuto verso il server esterno... ed hai risolto. Se poi su questi dati devi fare un lavoro complesso, allora pondera di metterli in cache (questa volta si) scrivendo il risultato di tale lavoro in un file statico, sia esso un file di testo o una pagina html già formattata... e questo sarà quanto invierai all'utente.
    "Dai diamanti non nasce niente, dal letame nascon fiori."
    Fabrizio De Andrè

  5. #5
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Probabilmente l'editore dei contenuti non ha capito come intendiamo usarli.
    Effettivamente mi pareva un po strano mettere in cache una chiamata del tipo.
    Avrebbe senso salvare il file se gli utenti lo utilizzassero direttamente(tipo la visualizzazione di un feed in tempo reale) ma non facendo accedere agli untenti direttamente al file ma solo noi per scaricare i contenuti la chiamata resta cmq 1 sola ogni tot come da crontab.
    Ti ringrazio per le risposte
    Ciao

  6. #6
    Utente di HTML.it L'avatar di Secta
    Registrato dal
    May 2002
    Messaggi
    365
    Il file serve a te non agli utenti... ti suggerivo una volta ottenuti i dati, se su questi dovrai fare delle operazioni complesse di farle una sola volta, scrivere il risultato in un file statico e poi mostrarlo agli utenti come meglio credi... insomma mettere in cache sul server le operazioni che andrai a compiere sui dati ottenuti dal crontab.
    "Dai diamanti non nasce niente, dal letame nascon fiori."
    Fabrizio De Andrè

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.