La gestione dei dati con efficienza e coerenza è diventata una delle maggiori sfide dell'era moderna. Le applicazioni Web che si occupano costantemente di dati transazionali elevati mancano di prestazioni e scalabilità. Fortunatamente, puoi introdurre la memorizzazione nella cache per gestire tali situazioni, evitando il costo significativo derivante da frequenti viaggi di rete.
Tuttavia, durante l'utilizzo di una cache, l'applicazione deve gestire due origini dati che possono complicare il codice dell'applicazione e causare ulteriori ritardi nelle prestazioni. Come nel caso di un errore nella cache, sarà necessario un viaggio di rete nel database per ottenere i dati richiesti e popolarli nella cache. Per semplificare il codice dell'applicazione e ridurre la latenza coinvolta nei viaggi di rete, NCache fornisce un provider di origine dati personalizzato chiamato Read-Through. Questo provider interagisce con il database per conto della tua applicazione per recuperare i dati richiesti dall'origine dati e popolare la cache in un'unica operazione per l'uso presente e futuro.
Che cos'è il read-through?
Read-Through è un provider di origine dati personalizzato, attraverso il quale si comunica alla cache come e quando deve ottenere i dati dal database. Read-Through interagisce con la tua origine dati per conto della tua applicazione e la salverà dall'effettuare viaggi nel database di runtime, migliorando quindi le prestazioni dell'applicazione.
Utilizzo di Read-Through con NCache
Nella memorizzazione nella cache read-through, quando si verifica un errore nella cache, NCache chiamerà il tuo provider per caricare i dati sulla chiamata di ricezione. Nelle cache in cluster, in cui sono coinvolti più server, il provider ReadThrough si attiverà (inizializzerà) su tutti i nodi del server della cache. Tuttavia, le operazioni Read-Through verranno eseguite in base alla topologia utilizzata.
Insieme a ReadThrough, NCache offre anche la possibilità di lettura forzata. Con il Read-Through forzato abilitato, il tuo provider ignorerà i dati nella cache e recupererà forzatamente i dati dall'origine dati. Pertanto, i dati non verranno controllati nella cache e verranno recuperati direttamente dall'origine dati.
NCache fornisce diversi modi per mantenere la cache aggiornata e scadenza dei dati è uno di loro. Ma la scadenza da sola può causare ritardi nelle prestazioni, ed è qui che Leggi tutto entra. Ad esempio, in un negozio di e-commerce, centinaia di prodotti sono memorizzati nella cache, ad alcuni si accede frequentemente: il resto degli elementi memorizzati nella cache rimarrà solo lì e consumerà la memoria della cache.
Utilizzando la scadenza, è possibile invalidare l'elemento dopo un periodo di tempo specificato o la frequenza con cui è stato effettuato l'accesso. Tuttavia, può esserci la possibilità che un elemento sia scaduto, ma l'applicazione richiede proprio quell'elemento. In tal caso, l'applicazione deve recuperare l'elemento dal database e quindi aggiungerlo alla cache. Questo viaggio del database di runtime può portare a determinati ritardi, danneggiando così le prestazioni dell'applicazione.
Per evitare questo ritardo nelle prestazioni, Read-Through insieme a Opzioni di risincronizzazione property recupererà automaticamente ogni elemento configurato con il flag di risincronizzazione, nel momento in cui scade dalla cache. Ciò manterrà sempre aggiornata la cache, ridurrà i mancati riscontri nella cache ed eviterà i viaggi del database di runtime.
Allo stesso modo, le dipendenze possono anche essere un ottimo modo per mantenere i dati coerenti nella cache. Soprattutto negli scenari in cui l'utente desidera mantenere i dati sincronizzati con il database in modo che ad ogni aggiornamento dei dati corrispondenti nel database, la cache venga informata e invalidi automaticamente i rispettivi dati. In questo modo i dati nella cache rimangono aggiornati e tutte le operazioni utilizzano il set di dati aggiornato.
Significato del Read-Through
Le seguenti circostanze in particolare dovrebbero incoraggiarti a utilizzare i fornitori di origini dati Read-Through:
Codice applicativo semplificato
Read-Through implementa il codice dell'applicazione con il principio di "Separazione delle preoccupazioni", per ottenere questa semplificazione. Dopo aver distribuito il Read-Through, tutta la comunicazione con il database avviene attraverso il livello di accesso ai dati. Ora è responsabilità della cache fornire i dati richiesti e sincronizzare la cache con il database.
Scalabilità di lettura migliorata
Questa funzionalità con la proprietà ResyncOptions migliora anche la scalabilità di lettura mantenendo sempre disponibile e aggiornato l'elemento della cache. Ci possono essere molte situazioni in cui a l'elemento della cache scade e il database affronta innumerevoli richieste dai thread degli utenti.
Questa situazione, unita ai milioni di elementi memorizzati nella cache e alle migliaia di richieste parallele degli utenti, porta a un carico notevolmente maggiore sul database. Fortunatamente, Read-Through insieme a ResyncOptions mantiene l'elemento della cache nella cache mentre ne recupera l'ultima copia dal database, quindi aggiorna l'elemento della cache, evitando quindi all'applicazione di accedere al database per questi elementi della cache, mantenendo il carico del database al minimo.
Elevata disponibilità e coerenza dei dati nella cache
Read-Through garantisce un'elevata disponibilità e coerenza dei dati nella cache aggiornando automaticamente la cache. NCache Il provider Read-Through specificato con ResyncOptions ricarica l'oggetto immediatamente dopo la sua scadenza o qualsiasi altra modifica nei dati corrispondenti nel database. Ciò impedisce ai dati della cache di diventare obsoleti.
Modi per ottimizzare le prestazioni utilizzando Read-Through
Read-Through non solo mantiene la cache coerente, ma migliora anche le prestazioni dell'applicazione consentendoti di ottenere nascondi gli elementi alla rinfusa, risparmiando così costose chiamate al database e viaggi di rete.
Inoltre, Read-Through può essere un'ottima alternativa alla cache a parte. A parte la cache, l'applicazione recupera i dati dall'origine dati e aggiorna la cache, il che aumenta la responsabilità dell'applicazione, complica il codice dell'applicazione e danneggia le prestazioni dell'applicazione.
Conclusione
NCacheIl fornitore di origine dati Read-Through di migliora le prestazioni dell'applicazione e garantisce un'elevata disponibilità dei dati. Read-Through semplifica inoltre il codice dell'applicazione eliminando blocchi di codice per la comunicazione con l'origine dati e interagisce con il database per conto dell'applicazione. Quindi, se desideri dati cache sempreverdi, non esitare a ottenerli NCacheProva gratuita di 60 giorni.