2012-05-01 9 views
7

Guardando questo esempio http://redis.io/topics/twitter-clone dove i record utente sono memorizzati usando una chiave hash ("uid: 1000") e "tweets" sono memorizzati da chiave hash ("post: 60"), significa che tutti quei record sono memorizzati nella stessa struttura dati e l'aggiunta di tweet influirà sul tempo di recupero dei record dell'utente?In Redis tutte le chiavi hash sono memorizzate nella stessa "tabella"? e se sì, come influisce sulle prestazioni?

+0

redis è un archivio di valori chiave avanzato. quindi non memorizza i dati come un rdbms in "tabelle". invece memorizza ogni chiave sotto un dato numero/entrata con i dati che contiene. – Hajo

+0

esattamente ed è per questo che ci sono punti e virgola che circondano la tabella nel titolo. – user971956

risposta

11

Sì, gli utenti e i tweet sono memorizzati nella stessa struttura dati. Quella struttura dati è un hash table.

Internamente, Redis non ha alcun concetto di tipi di record. Per quanto riguarda Redis, User:1000 e Post:60 sono solo una sequenza di byte. Quindi sì, Redis memorizza tutti i record nella stessa struttura dati.

Poiché Redis non distingue tra Tweets e Users, i tempi di risposta per entrambi i tipi di record saranno simili.

Quindi, tutto si riduce alla domanda: "Le prestazioni di Redis sono proporzionali al numero di record?"

La risposta è SÌ, lo fa. Finché hai la memoria per conservare tutti i tuoi dati, le prestazioni di Redis non dovrebbero dipendere dal numero di record.

Problemi correlati