Wat is het mechanisme om limieten op de toegang van een bron af te dwingen wanneer meerdere threads worden uitgevoerd in Redis?
Wat is het mechanisme om limieten op de toegang van een bron af te dwingen wanneer meerdere threads worden uitgevoerd in Redis?

Video: Wat is het mechanisme om limieten op de toegang van een bron af te dwingen wanneer meerdere threads worden uitgevoerd in Redis?

Video: Wat is het mechanisme om limieten op de toegang van een bron af te dwingen wanneer meerdere threads worden uitgevoerd in Redis?
Video: Multithreading Models & Hyperthreading 2024, April
Anonim

slot

Dit in overweging nemend, hoe gaat Redis om met gelijktijdigheid?

Een programma met één thread kan dat zeker bieden gelijktijdigheid op het I/O-niveau door gebruik te maken van een I/O-(de)multiplexmechanisme en een event-loop (en dat is wat) Redis doet ). Parallellisme heeft een prijs: met de meerdere sockets/meerdere cores die je op moderne hardware kunt vinden, is synchronisatie tussen threads extreem duur.

Is het geheugenbeleid ook dat fouten retourneert wanneer de geheugenlimiet is bereikt en de client opdrachten probeert uit te voeren die resulteren in een hoger geheugengebruik? Wanneer het opgegeven bedrag van geheugen is bereikt , is het mogelijk om uit verschillende gedragingen te kiezen, genaamd beleid . Redis kan gewoon fouten retourneren voor commando's dat zou resulteren in meer geheugen wezen gebruikt , of het kan sommige oude gegevens verwijderen om opbrengst terug naar de opgegeven begrenzing elke keer dat er nieuwe gegevens worden toegevoegd.

Wat is in dit verband een voordeel van pipelining in Redis?

Voordeel van pijpleidingen de belangrijkste voordeel van Redis-pipelining versnelt de Redis uitvoering. Het verbetert de protocolprestaties drastisch vanwege de gelijktijdige uitvoering van meerdere opdrachten.

Is Redis-thread veilig?

Voer de in Redis GIL Gelukkig heeft Salvatore Sanfilippo een revolutionaire verandering toegevoegd vlak bij de finish van Redis 4.0 en de release van de modules API: Draad veilig Contexten en de Global Lock. Het idee is eenvoudig. Terwijl Redis blijft nog steeds single threaded, een module kan veel draaien draden.

Aanbevolen: