1. Home
  2. Docs
  3. Redis
  4. Introduzione
  5. Scrittura dei dati

Scrittura dei dati

La scrittura dei dati in Cache può avvenire attraverso tre principali metodologie, conosciute come Write Through, Write Back e Write Around.

Write Through

Attraverso la metodologia Write Through il client richiede la scrittura delle informazioni all’Application Server. Questo effettua la scrittura sia nella Cache che nel Database ed attende che entrambe le operazioni di I/O siano completate prima di inviare conferma al client.

Questa metodologia è indicata per le applicazioni che scrivono poco frequentemente ma leggono molto frequentemente. L’operazione di scrittura ha una latenza elevata ma le informazioni sono presenti in cache al termine e immediatamente accessibili.
E’ una metodologia sicura perché i dati sono sempre salvati nel Database prima di renderli disponibili attraverso la Cache.

Write Back

Il Write Back prevede che la scrittura delle informazioni avvenga per prima cosa nella Cache. Il client è immediatamente informato del completamento dell’operazione di I/O e solo successivamente i dati vengono salvati nel Database.

Questa metodologia è quella che garantisce le migliori performance, sia in lettura che in scrittura. Tuttavia è anche la metodologia più rischiosa, perché la persistenza del dato non è garantita e i client potrebbero accedere ad informazioni non presenti sul Database. In caso di guasto dell’Application Server, prima della scrittura sul Database, l’informazione andrebbe perduta irrimediabilmente.

Write Around

La metodologia Write Around prevede la scrittura esclusivamente nel Database e la rimozione dell’informazione dalla Cache (perché non più attuale). Il client è informato del completamento dell’operazione di I/O al termine del salvataggio nel Database.

Questa metodologia è particolarmente utilizzata per applicazioni ad elevata scrittura e bassa lettura, dove i dati in Cache è meglio ottenerli solo a seguito di specifiche richieste.

Was this article helpful to you? Yes No

How can we help?