Ci sono alcune possibilità:
-
Ecco uno pseudocodice per farlo con 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!"
-
A parte ciò, potrebbe essere necessario interrompere il servizio e farlo con GET e SET poiché probabilmente non disponi di un meccanismo di blocco in atto. Se puoi imporre un blocco, consulta http://redis.io/commands/setnx
-
Ci sono alcuni strumenti per aggiornare un rdb. https://github.com/sripathikrishnan/redis-rdb-tools https://github.com/nrk/redis-rdb
Nota, questa risposta è stata adattata alla mia risposta a:lavorare con oggetti nidificati in Redis?