Redis maximale Schlüssellänge und was passiert, wenn es überschritten wird

Redis maximale Schlüssellänge und was passiert, wenn es überschritten wird
Redis ist ein bekannter In-Memory-Datenstrukturspeicher. Es speichert Daten mithilfe von Schlüsselwert

Dieser Leitfaden untersucht die Schlüssellänge und ihre Auswirkungen auf Redis.

Redis -Schlüssellänge

Redisschlüssel sind binär-safe. Dies bedeutet, dass jede binäre Sequenz als Schlüssel dienen kann. Es kann alles sein - ein String, Inhalt einer JPEG -Datei und mehr. Eine leere Zeichenfolge ist auch ein gültiger Schlüssel.

Die maximale Schlüsselgröße (512 MB) hat jedoch eine Grenze. Gleiches gilt für die Wertgröße (512 MB eines beliebigen Datentyps).

Die richtige Schlüssellänge hängt vom Kontext ab. In den meisten Fällen werden jedoch zu lange oder kurze Schlüssel besser vermieden.

Nachteile langer Schlüssel

Wenn Sie einen sehr langen Schlüssel festlegen, wird die Leistungskosten geliefert. Wenn Sie den Schlüssel in der Redis -Datenbank nachschlagen. In der Speichereffizienz sind lange Schlüssel ziemlich ineffizient Speicher ineffizient.

Wenn Sie lange Schlüssel verwenden müssen, sollten Sie sie mit guten Algorithmen wie SHA1, SHA256 usw. hasern. Im Austausch für ein bisschen mehr Verarbeitungsleistung ist die Last des Speichers erheblich reduziert, ganz zu schweigen von der Leistungserhebung.

Beispielsweise führt ein 1024 -Bytes -Schlüssel zu einer geringeren Leistung und einem höheren Speicherverbrauch. Wenn es mit SHA256 gehasht wird, wird die Größe auf 256 Bit (32 Bytes) reduziert, während eine einzigartige Position auf dem Redis -Server beibehalten wird.

Nachteile von kurzen Schlüssel

Die andere Seite des Spektrums verwendet prägnante Schlüssel. Aus dem vorherigen Beispiel ist die Verkürzung der Schlüssellänge für Leistungsvorteile und Ressourceneffizienz vorzuziehen. Es ist jedoch oft nicht wert, Klarheit für die leichte Leistungsaufhebung zu opfern.

Lassen Sie es uns mit einem Beispiel aufschlüsseln. Betrachten Sie den Schlüssel U5000f als verkürzte Form von Benutzer: 5000: Follower. Während U5000f Ist die bessere Option, was die Leistung betrifft, ist eine schreckliche Option, wenn sie in Code implementiert wird.

Für den Anfang ist der Schlüsselname sehr unintuitiv. Es hat auch keinen klaren Hinweis darauf, was sein Zweck ist. Es ist der perfekte Saatgut für eine Katastrophe auf der ganzen Linie. Wenn die Codebasis größer wird, werden verwirrende Codes schwieriger zu pflegen. Stattdessen verwenden Benutzer: 5000: Follower Bietet ein großes Gleichgewicht zwischen Leistung und Bequemlichkeit.

Was passiert, wenn Redis keinen Speicher mehr hat

Redis kann eine große Anzahl von Schlüssel verarbeiten. Es ist so konzipiert, dass es bis zu 2^32 Tasten verarbeitet! Laut den FAQ der Redis-FAQ ist die Software mit 250 Millionen Schlüssel belastet,. Mit anderen Worten, es ist wahrscheinlicher, dass Sie den Systemspeicher ausgehen, bevor Sie die Redis -Grenze treffen.

Was jedoch passiert, wenn Redis die maximale Speicherkapazität erreicht? Redis verfügt über integrierte Schutzmaßnahmen, z.

$ sudo nano/etc/Redis/Redis.Conf

Wenn Redis das Speicherlimit erreicht, gibt es einen Fehler auf neue Schreibbefehle zurück. Es wird jedoch weiterhin normal darauf reagieren, Befehle zu lesen.

Abschluss

In diesem Leitfaden haben wir die maximale Schlüssellänge erörtert, die Redis akzeptiert. Wir haben auch die Verwaltungsrichtlinie erörtert, wenn Redis die zugewiesene Speichergrenze überschreitet. Mit diesem Wissen können Sie entscheiden, wie Sie Redis in Ihren Anwendungen und Skripten implementieren können.

Apropos Skripte, erfahren Sie mehr über die Einbindung von Redis mit Lua, Golang, Ruby usw. Müssen das Redis -Verhalten anpassen? Erfahren Sie mehr über die Redis -Konfigurationsdatei.