Redis
 sql >> Database >  >> NoSQL >> Redis

Redis cache rispetto all'utilizzo diretto della memoria

Redis è un telecomando server della struttura dati. È certamente più lento della semplice memorizzazione dei dati nella memoria locale (poiché comporta roundtrip di socket per recuperare/memorizzare i dati). Tuttavia, porta anche alcune proprietà interessanti:

  • Redis è accessibile da tutti i processi delle tue applicazioni, possibilmente in esecuzione su più nodi (qualcosa che la memoria locale non può ottenere).

  • L'archiviazione della memoria Redis è abbastanza efficiente e viene eseguita in un processo separato. Se l'applicazione viene eseguita su una piattaforma la cui memoria è Garbage Collector (node.js, java, ecc ...), consente di gestire una cache/store di memoria molto più grande. In pratica, heap molto grandi non funzionano bene con i linguaggi di Garbage Collection.

  • Redis può mantenere i dati su disco, se necessario.

  • Redis è un po' più di una semplice cache:fornisce varie strutture dati, varie policy di sfratto degli oggetti, code di blocco, pub/sub, atomicity, Lua scripting, ecc...

  • Redis può replicare la propria attività con un meccanismo master/slave per implementare l'alta disponibilità.

Fondamentalmente, se hai bisogno che la tua applicazione si ridimensioni su più nodi che condividono gli stessi dati, sarà necessario qualcosa come Redis (o qualsiasi altro archivio chiave/valore remoto).