Existuje několik možností:
-
Zde je nějaký pseudo kód, jak to udělat pomocí skriptování 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átce na to, možná budete muset zastavit službu a provést to pomocí GETů a SETů, protože pravděpodobně nemáte zamykací mechanismus. Pokud můžete vynutit zámek, přejděte na http://redis.io/commands/setnx
-
Existuje několik nástrojů pro aktualizaci rdb. https://github.com/sripathikrishnan/redis-rdb-tools https://github.com/nrk/redis-rdb
Všimněte si, že tato odpověď byla přizpůsobena mé odpovědi na:Práce s vnořenými objekty v Redis?