COS’È LA CACHE
Continuiamo con la nostra panoramica sui termini entrati di prepotenza nella nostra quotidianità grazie alla diffusione delle nuove tecnologie e di internet. Cache è un termine francese che significa “nascosto”, in italiano si pronuncia “cash”.
Probabilmente Cache lo avrete sentito dire di meno rispetto, ad esempio, ad account, link, spam e così via, tuttavia anche la cache riveste un’importanza considerevole. Infatti è chiamata cache un’area di memoria temporanea dove risiede un insieme di dati che possono essere velocemente recuperati dal sistema quando sono richiesti.
In pratica è grazie alla cache che il vostro dispositivo (sia esso un computer, un tablet, uno smartphone ecc…) vi permette di compiere molto rapidamente le azioni che compiete più spesso. Ad esempio quando usate internet e navigate spesso su un sito web questo salverà nella cache alcuni file che serviranno per velocizzare le future navigazioni.
Tecnicamente la memoria cache è “incorporata” in una memoria principale più grande ma più lenta, ed è proprio grazie alla metodologia di funzionamento della cache che alcuni processi possono essere svolti molto velocemente. Quando viene inviato un comando di ricerca il sistema cerca sempre prima nella cache, se l’oggetto viene trovato qui avremo un risultato in tempi molto rapidi, altrimenti il sistema sarà costretto a cercare nella memoria più grande e più lenta, ed impiegherà più tempo. Si possono anche avere più livelli di cache, delle stesse dimensioni o di dimensioni via via crescenti, ciò comporta che quando il sistema cerca un’informazione passi prima per tutti i livelli di cache, questo può essere un vantaggio poiché è possibile tenere più informazioni ricorrenti a portata di mano, ma può anche essere uno svantaggio poiché se l’informazione ricercata non è in cache i tempi di ricerca si allungherebbero dato che il sistema dovrebbe passare in rassegna prima tutti i livelli di cache e poi passare alla memoria principale. Le informazioni da conservare e quelle da scartare sono decise da un algoritmo che tiene conto di diversi fattori.