sql >> Databasteknik >  >> NoSQL >> Redis

Redis datastruktur utrymmeskrav

Det är mycket mer än din uppskattning. Låt oss anta att ziplistor inte används (dvs. du har ett betydande antal föremål).

En Redis-lista är en klassisk dubbellänkad lista:3 pekare (föregående, nästa, värde) per objekt.

En sorterad uppsättning är en ordbok plus en överhoppningslista. I ordboken kommer objekt att lagras med 3 pekare också (nyckel, värde, nästa). Minnesavtrycket för överhoppningslistan är mer komplext att utvärdera:varje nod tar 1 dubbel (poäng), 2 pekare (obj, bakåt), plus n par (pekare, spännvärde) med n mellan 1 och 32. De flesta objekt tar bara 1 eller 2 par.

Med andra ord, när den inte representeras som en ziplist, är en sorterad uppsättning den överlägset Redis-datastrukturen med mest overhead. Jämfört med en lista är minneskostnaden mer än 200 % (dvs. 3 gånger).

Obs:det bästa sättet att utvärdera minnesförbrukning med Redis är att försöka bygga en stor lista eller sorterad uppsättning med pseudodata och använda INFO för att få minnesfotavtrycket.




  1. mongodb:hur kan jag se exekveringstiden för det samlade kommandot?

  2. Så här gör du:Använd HBase Bulk Loading och varför

  3. Använder Redis som mellanliggande cache för REST API

  4. Fjäderkänga + redis