Има няколко възможности:
-
Ето малко псевдокод за това с 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!"
-
С изключение на това, може да се наложи да спрете услугата и да направите това с GETs и SET, тъй като вероятно нямате механизъм за заключване. Ако можете да наложите заключване, вижте http://redis.io/commands/setnx
-
Има няколко инструмента за актуализиране на rdb. https://github.com/sripathikrishnan/redis-rdb-tools https://github.com/nrk/redis-rdb
Забележете, този отговор беше адаптиран към моя отговор на:Работа с вложени обекти в Redis?