Istnieje kilka możliwości:
-
Oto kilka pseudokodów do robienia tego za pomocą skryptów Redis 2.6 Lua.
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!"
-
Krótko mówiąc, może być konieczne zatrzymanie usługi i zrobienie tego za pomocą GET i SET, ponieważ prawdopodobnie nie masz mechanizmu blokującego. Jeśli możesz wymusić blokadę, zobacz http://redis.io/commands/setnx
-
Istnieje kilka narzędzi do aktualizacji rdb. https://github.com/sripathikrishnan/redis-rdb-tools https://github.com/nrk/redis-rdb
Uwaga, ta odpowiedź została dostosowana do mojej odpowiedzi na:Praca z zagnieżdżonymi obiektami w Redis?