Algoritmi di eviction: confronto tra LRU e nuove soluzioni
Il caching è essenziale per ottimizzare le performance dei sistemi con backend lenti. Un buon cache deve (1) servire il maggior numero possibile di richieste dal cache e (2) farlo nel minor tempo possibile. Il rapporto mancato misura la frazione di richieste non servibili dal cache, mentre il throughput indica il numero di richieste servite al secondo. Quando il cache si riempie, nuovi dati implicano l’eviction di dati vecchi. LRU (Least-recently-used) è l’algoritmo più comune in produzione, utilizzando una lista doppiamente collegata per mantenere l’ordine di accesso. Tuttavia, LRU non è sempre ottimale. Algoritmi più recenti, come ARC, utilizzano più liste LRU per una gestione più efficiente dei dati.