Le politiche che stai citando riguardano principalmente ciò che ha la responsabilità di mantenere la cache e decidere quando e come leggere i dati dalla memoria principale.
In Cache Aside l' applicazione si assume la responsabilità. L'applicazione guarderà la cache e vedrà se ha i dati di cui ha bisogno. Se la cache non contiene i dati richiesti, l'applicazione leggerà i dati e copia i dati nella cache.
Nella cache Read-through / Write-through , l'applicazione comunica direttamente con la cache. È responsabilità della cache determinare se contiene già o meno i dati. Se la cache non contiene i dati, otterrà i dati dalla memoria principale, conserverà una copia dei dati e restituirà i dati all'applicazione.
Esistono due modi per scrivere i dati: write-through e write-behind. Write-through significa che i dati vengono scritti immediatamente nella memoria principale. Non fornisce alcun miglioramento della velocità, ma è più sicuro. Write-behind significa che i dati vengono scritti nella cache, ma solo riscritti nella memoria principale dopo un certo periodo di tempo o quando il blocco viene rimosso dalla cache.
Se rifletti su questo punto, vedrai che ci sono dei vantaggi nell'affrontare direttamente con la cache, lasciandoti la responsabilità di leggere e scrivere la memoria principale. Se tutto l'accesso alla memoria passa attraverso la cache, la cache può garantire l'integrità dei dati, poiché è a conoscenza di ogni accesso alla memoria principale. In altre parole, non vi è alcuna possibilità di ottenere dati obsoleti.
Per quanto posso dire, non vi è alcun problema di popolarità. Ogni approccio al caching ha i suoi vantaggi e svantaggi. Se c'è una strategia che viene osservata più spesso delle altre, è perché quella strategia soddisfa più comunemente gli obiettivi del programmatore.