Dopo aver creato un proof of concept per un sito ASP.NET MVC e aver verificato l'appropriata separazione dei problemi, ho notato che stavo effettuando molte costose chiamate di database ridondanti per informazioni sull'utente corrente.Memorizzazione nella cache dei dati utente per evitare spostamenti eccessivi del database
Essendo storicamente una persona di desktop e servizi, il mio primo pensiero è stato quello di memorizzare nella cache i risultati del db in alcuni static
s. Non ci sono volute molte ricerche per vedere che fare ciò avrebbe mantenuto i dati dell'utente corrente sull'intero AppDomain per tutti gli utenti.
Successivamente ho pensato di utilizzare HttpContext.Current
. Tuttavia, se metti elementi qui quando un utente viene disconnesso, quando accedono ai dati memorizzati nella cache non saranno aggiornati. Potrei aggiornarlo ogni volta che accedo al login/logout, ma non posso dire se questo sembra giusto. In assenza di altre idee, questo è il punto in cui mi sto appoggiando.
Che cos'è un modo leggero per memorizzare accuratamente i dettagli dell'utente ed evitare di dover effettuare tonnellate di chiamate al database?
Che tipo di dati è necessario memorizzare? Se si tratta solo di poche proprietà semplici, ad es. String, Integer, è possibile archiviare semplicemente i cookie dei moduli. – willbt