Có một số khả năng:
-
Đây là một số mã giả để thực hiện việc này với tập lệnh 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!"
-
Trong trường hợp đó, bạn có thể cần phải dừng dịch vụ và thực hiện việc này với GET và SET vì có thể bạn không có cơ chế khóa tại chỗ. Nếu bạn có thể thực thi khóa, hãy xem http://redis.io/commands/setnx
-
Có một số công cụ để cập nhật rdb. https://github.com/sripathikrishnan/redis-rdb-tools https://github.com/nrk/redis-rdb
Lưu ý, câu trả lời này đã được điều chỉnh cho phù hợp với câu trả lời của tôi cho:Làm việc với các đối tượng lồng nhau trong Redis?