2011-01-19 10 views

risposta

23

Redis utilizzerà un po 'più di RAM del disco. Il formato di dumpfile è probabilmente un po 'più densamente imballato. Si tratta di alcuni numeri da un vero e proprio sistema di produzione (un EC2 grande esempio a 64 bit in esecuzione Redis 2.0.4 su Ubuntu 10.04):

$ redis-cli info | grep used_memory_human 
used_memory_human:1.36G 

$ du -sh /mnt/data/redis/dump.rdb 
950M /mnt/data/redis/dump.rdb 

Come si può vedere, il file di dump è a poche centinaia di mega più piccolo l'utilizzo della memoria .

Alla fine dipende da ciò che si memorizza nel database. Ho principalmente hash nei miei, con solo pochi (forse meno dell'1%) set. Nessuna delle chiavi contiene oggetti molto grandi, la dimensione media dell'oggetto è 889 byte.

+0

Ho fatto alcuni test sulla mia macchina e posso confermarlo; sembra che Redis non includa la RAM che utilizza per la contabilità verso il limite di dimensioni del database. –

+0

Una delle nostre quattro istanze di redis ha un dump file 3.4G ma redis dice che ha usato 16.52G in memoria. –

+1

Se si sta utilizzando una versione Redis precedente alla 2.4 e si può fare molta cancellazione, ciò può accadere. Le versioni precedenti di Redis non rilasciavano mai la memoria sul sistema operativo, quindi l'utilizzo della memoria rimaneva nel limite massimo fino al riavvio. – Theo

-3

I database Redis sono archiviati in memoria, quindi un database da 80 MB occuperebbe 80mb in ram.

Redis è una memoria estremamente ridotta utilizzando il programma e da questo esempio dal sito Web "1 milione di chiavi con la chiave sono i numeri naturali da 0 a 999999 e la stringa" Hello World "come valore utilizza 100 MB [di Ram] ". La mia app Redis utilizza circa 300kb a 500kb di ram, quindi avrai bisogno di molti dati per raggiungere un database di 80mb. Redis salva anche le istantanee del disco del database, quindi 80mb in ram e 80mb sul disco rigido.

+1

-1 Questo non è affatto accurato. Ho 4,1 GB di dati che occupa 11 GB di RAM. – Alan

+1

-1 Semplice risposta errata ... –

+0

"I sistemi a 64 bit useranno molta più memoria dei sistemi a 32 bit per memorizzare le stesse chiavi, specialmente se le chiavi e i valori sono piccoli, questo perché i puntatori impiegano 8 byte nei sistemi a 64 bit" –

Problemi correlati