Redis UNLINK vs DEL: Ein tiefer Einblick in die interne Mechanik
2025-01-21
Die Redis-Befehle UNLINK und DEL entfernen Schlüssel, unterscheiden sich aber in ihrer internen Implementierung. DEL löscht Schlüssel synchron und gibt Speicher frei, während UNLINK die Löschung in eine Hintergrundwarteschlange für asynchrone Verarbeitung stellt. Die "nicht blockierende" Natur von UNLINK ist nicht absolut; sie berechnet die Kosten für das Löschen eines Objekts: Wenn die Kosten unter 64 liegen, wird synchron gelöscht; andernfalls asynchron. Der Artikel taucht in den Redis-Quellcode ein, erklärt die Implementierungsdetails von UNLINK und DEL, einschließlich der Schlüsselplatzberechnung, der Zweiphasen-Entkopplung und der asynchronen Löschung, und erörtert die Rolle von LAZYFREE_THRESHOLD.
Entwicklung