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

Kan Redis 6 drage fordel af multi-core CPU'er?

Baseret på udgivelsesbemærkninger, tror jeg det gør det. Her er en lille information derfra:

På trods af Redis' velfortjente ry for høj ydeevne, har dens enkelttrådede arkitektur været kontroversiel blandt ingeniører, der spekulerede på, om Redis kunne være endnu hurtigere. Redis 6 ringer ind i en ny æra:Mens den bevarer en kerne-en-trådet dataadgangsgrænseflade, er I/O nu trådet.

Ved at delegere den tid, der bruges på at læse og skrive til I/O-sockets, til andre tråde, kan Redis-processen afsætte flere cyklusser til at manipulere, gemme og hente data – hvilket øger den samlede ydeevne. Denne forbedring bevarer transaktionsegenskaberne fra tidligere versioner, så du ikke behøver at gentænke dine applikationer for at drage fordel af den øgede ydeevne. På samme måde kan Redis' enkelttrådede DEL-kommando nu konfigureres til at opføre sig som den flertrådede UNLINK-kommando, der har været tilgængelig siden Redis version 4.

Ydeevnen af ​​en lokal variabel er næsten altid uovertruffen. Endelig vil selv en database så høj ydeevne som Redis være meget langsommere end at få adgang til noget fra stakken eller heapen. Redis 6 tilføjer en ny teknik til sofistikerede klientbiblioteker til at implementere et cachinglag på klientsiden til at gemme en delmængde af data i din egen proces. Denne implementering er smart nok til at administrere flere opdateringer af de samme data og holde dine data så synkroniserede som muligt – samtidig med at fordelene ved Redis bevares med hastigheden af ​​lokale variabler.

Du kan også tjekke/sammenligne det med redis-benchmark eller memtier harness for din instans/arbejdsbelastningsprofil.




  1. mongo.so:> udefineret symbol:php_json_encode i Ukendt på linje 0. Efter installation mongo driver til php

  2. Spring Boot redisTemplate autokabelføring mislykkedes

  3. Kan jeg ændre eksisterende indeks i MongoDB uden at droppe det?

  4. Lukker Redis ned