Tập lệnh Lua hoặc kiểu khóa sẽ giải quyết được vấn đề của bạn.
EVAL 'local obj = cjson.decode(redis.call("GET", "key1")); obj.prop1.subprop1 = ARGV[1]; redis.call("SET", "key1", cjson.encode(obj));' 0 "did_change"
Bạn thậm chí có thể tạo ra một thứ gì đó nâng cao hơn trong Lua để chỉnh sửa các subobjects JSON của bất kỳ khóa nào nếu bạn muốn.
Xem tài liệu lệnh Redis SETNX để biết ví dụ về cách sử dụng khóa.