Redis
 sql >> Database >  >> NoSQL >> Redis

Lavorare con oggetti nidificati in Redis?

Lo scripting Lua o uno schema di blocco risolverebbero il tuo problema.

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

Se lo desideri, potresti persino creare qualcosa di più avanzato in Lua per modificare i sottooggetti JSON di qualsiasi chiave.

Guarda i documenti dei comandi Redis SETNX per un esempio di come utilizzare un blocco.