Der er et par muligheder:
-
Her er noget pseudokode til at gøre dette med Redis 2.6 Lua scripting.
for userid in users: EVAL 'local obj = cjson.decode(redis.call("GET", KEY[1])); obj.subobj.newjsonkey = ARGV[1]; redis.call("SET", KEY[1], cjson.encode(obj));' 1 userid "new value!"
-
Bortset fra det, skal du muligvis stoppe tjenesten og gøre dette med GET'er og SET'er, da du sandsynligvis ikke har en låsemekanisme på plads. Hvis du kan gennemtvinge en lås, se http://redis.io/commands/setnx
-
Der er et par værktøjer til at opdatere en rdb. https://github.com/sripathikrishnan/redis-rdb-tools https://github.com/nrk/redis-rdb
Bemærk, dette svar blev tilpasset mit svar på:Arbejde med indlejrede objekter i Redis?