Det finns några möjligheter:
-
Här är lite pseudokod för att göra detta med Redis 2.6 Lua-skript.
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!"
-
Kort av det kan du behöva stoppa tjänsten och göra detta med GETs och SETs eftersom du förmodligen inte har en låsmekanism på plats. Om du kan tvinga fram ett lås, se http://redis.io/commands/setnx
-
Det finns några verktyg för att uppdatera en rdb. https://github.com/sripathikrishnan/redis-rdb-tools https://github.com/nrk/redis-rdb
Obs, det här svaret anpassades till mitt svar på:Arbeta med kapslade objekt i Redis?