Evitando più chiamate a SQL e dati persistenti

-2

Ho ricevuto spesso messaggi di oggetti e per ognuno di essi ho bisogno di interrogare il database per ottenere alcune informazioni aggiuntive da una tabella di database. Dal momento che stiamo eseguendo molte richieste a dabatase è molto inefficiente.

Quindi, come potrei migliorare le prestazioni? Penso di aver bisogno di mantenere i dati della tabella in una lista local o in una tabella hash e di aggiornarla quando alcune modifiche sono avvenute nel database.

    
posta Mihai Alexandru-Ionut 18.06.2018 - 20:57
fonte

1 risposta

1

.net ha un oggetto MemoryCache che puoi usare per mantenere i risultati di una query inorder per limitare il numero di richieste.

link

In genere non si desidera mantenere l'oggetto molto a lungo, diciamo alcuni secondi, poiché ciò impedisce un elevato volume di richieste al secondo mentre si limita il problema di dover aggiornare la cache quando i dati cambiano e la quantità di memoria utilizza la cache.

Esistono varie opzioni avanzate per l'invalidazione della cache diverse da un timeout assoluto. È possibile impostare un trigger per invalidare la cache o aggiornare la versione memorizzata nella cache quando si esegue un aggiornamento, se necessario.

Ovviamente questo diventa più complicato se hai una fattoria di server.

    
risposta data 18.06.2018 - 21:52
fonte

Leggi altre domande sui tag