Knoten Redis - SET mit EX und NX?
Redis empfiehlt eine Methode, die mithilfe von SET mit optionalen Parametern als einen locking-Mechanismus. I. e. "SET lock 1 AB 10 NX" wird eine Sperre nur, wenn es nicht bereits vorhanden ist, und Sie erlischt nach 10 Sekunden.
Ich bin mit Redis-Knoten, die eine set () - Methode, aber ich bin mir nicht sicher, wie Sie Sie, um es zu übergeben, die zusätzliche Parameter, um die Schlüssel verfallen und nicht erstellt werden wenn Sie bereits vorhanden ist, oder sogar, wenn es möglich ist.
Vielleicht habe ich setnx() und laufen() als separate Anrufe?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nach dem Lesen der Knoten Redis-source-code habe ich festgestellt, dass alle Methoden akzeptieren eine beliebige Anzahl von Argumenten. Wenn eine Fehlermeldung über falsche Anzahl von Argumenten erzeugt wird, erzeugt Redis nicht der Knoten-Modul.
Meine ersten versuche zum bereitstellen mehrerer Argumente waren, da musste ich nur Redis 2.2.x installiert, wo nur nimmt die NX-und EX-Argumente mit 2.6.12.
Also mit der Redis-2.6.12 installiert ist, befolgen Sie Methode nennt, wird die Arbeit mit redis-Knoten um eine variable zu setzen, wenn es nicht vorhanden ist, und legen Sie es zu verfallen, nach 5 Minuten:
Können Sie ein Lua-Skript, um Ihre eigenen
setnex
Befehl. Alle Lua-Skripte atomar ausgeführt werden, so dass Sie nicht haben, um sorgen über andere Kunden Daten ändern, die Sie bereits gelesen haben, in das Skript.Können Sie es aufrufen node_redis wie diese: