sql >> Databasteknik >  >> NoSQL >> Redis

Kan Redis 6 dra fördel av flerkärniga processorer?

Baserat på releasenotes antar jag att det gör det. Här är lite information därifrån:

Trots Redis välförtjänta rykte för hög prestanda, har dess entrådiga arkitektur varit kontroversiell bland ingenjörer som undrat om Redis kunde vara ännu snabbare. Redis 6 ringer in i en ny era:samtidigt som den behåller ett entrådat kärngränssnitt för dataåtkomst, är I/O nu trådad.

Genom att delegera den tid som ägnas åt att läsa och skriva till I/O-sockets till andra trådar, kan Redis-processen ägna fler cykler åt att manipulera, lagra och hämta data – vilket ökar den totala prestandan. Denna förbättring behåller transaktionsegenskaperna från tidigare versioner, så du behöver inte tänka om dina applikationer för att dra fördel av den ökade prestandan. På samma sätt kan Redis entrådiga DEL-kommando nu konfigureras för att bete sig som det flertrådiga UNLINK-kommandot som har varit tillgängligt sedan Redis version 4.

Prestandan för en lokal variabel är nästan alltid oslagbar. Slutligen, även en databas med så hög prestanda som Redis kommer att vara mycket långsammare än att komma åt något från stacken eller högen. Redis 6 lägger till en ny teknik för sofistikerade klientbibliotek för att implementera ett cachinglager på klientsidan för att lagra en delmängd av data i din egen process. Den här implementeringen är smart nog att hantera flera uppdateringar av samma data och hålla din data så synkroniserad som möjligt – samtidigt som den behåller fördelarna med Redis med snabbheten hos lokala variabler.

Du kan också kontrollera/jämföra den med redis-benchmark eller memtier harness för din instans/arbetsbelastningsprofil.




  1. mongodb-autentisering med anslutningssträng

  2. Använder selleri för realtid, synkron extern API-fråga med Gevent

  3. MongoDB $vecka

  4. ModuleNotFoundError:Ingen modul med namnet 'grp' på Windows