Spesso mi imbatto in soluzioni software che non fanno uso della cache (in qualunque sua forma). Possono essere soluzioni Client-Server, Web, Multi Tier o anche semplici servizi. Abusare del caching è sempre sbagliato, ma è altrettanto sbagliato fare finta che la possibilità di impiegarla (con oculatezza) non esista. Sembrerà un discorso banale, ma se un dato si trova sul disco, alla meglio il tempo di accesso si aggira sull'ordine di millisecondi perchè fondamentalmente si basa sull'impiego di tecnologie elettromeccaniche per fornire esattamente il dato che richiediamo.
Quando invece accediamo alla memoria, i tempi di accesso sono dell'ordine dei nanosecondi. Una bella differenza. Questo ovviamente non significa che si debba cachare tutto in modo indiscriminato, ma se la vostra applicazione si basa su alcuni dati piuttosto "stabili", che possono essere mantenuti in memoria per essere consultati velocemente, considerate sempre l'opzione del caching.
Se i dati si trovano in un database, magari ad accesso concorrente, considerate che le query che vengono fatte per reperire dati "cachabili" intralceranno tutte le altre query che vengono fatte e causeranno un aumento di pressione sul database che può essere ridotto con grande soddisfazione per tutti gli utenti del sistema.
Concludo ribadendo che il caching è una tecnica molto utile, può essere impiegata dove si renda necessario, ma non se ne deve abusare mai.