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

Requisiti di spazio della struttura dati Redis

È molto più della tua stima. Supponiamo che le ziplist non vengano utilizzate (cioè hai un numero significativo di elementi).

Un elenco Redis è un classico elenco a doppio collegamento:3 puntatori (prec, successivo, valore) per elemento.

Un set ordinato è un dizionario più una lista di salto. Nel dizionario, gli elementi verranno memorizzati anche con 3 puntatori (chiave, valore, successivo). Il footprint di memoria della skip list è più complesso da valutare:ogni nodo prende 1 double (score), 2 pointer (obj,backward), più n coppie (pointer,span value) con n compreso tra 1 e 32. La maggior parte degli elementi richiederà solo 1 o 2 coppie.

In altre parole, quando non è rappresentato come un elenco zip, un set ordinato è di gran lunga la struttura di dati Redis con il maggior sovraccarico. Rispetto a un elenco, l'overhead di memoria è superiore al 200% (ovvero 3 volte).

Nota:il modo migliore per valutare il consumo di memoria con Redis è provare a creare un grande elenco o un set ordinato con pseudo-dati e utilizzare INFO per ottenere l'impronta di memoria.