Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Arbeiten mit verschachtelten Objekten in Redis?

Lua-Scripting oder ein Sperrmuster würden Ihr Problem lösen.

EVAL 'local obj = cjson.decode(redis.call("GET", "key1")); obj.prop1.subprop1 = ARGV[1]; redis.call("SET", "key1", cjson.encode(obj));' 0 "did_change"

Sie könnten sogar etwas Fortgeschritteneres in Lua machen, um die JSON-Unterobjekte eines beliebigen Schlüssels zu bearbeiten, wenn Sie möchten.

Sehen Sie sich die Redis SETNX-Befehlsdokumentation an, um ein Beispiel für die Verwendung einer Sperre zu erhalten.