लुआ स्क्रिप्टिंग या लॉक पैटर्न आपकी समस्या का समाधान करेगा।
EVAL 'local obj = cjson.decode(redis.call("GET", "key1")); obj.prop1.subprop1 = ARGV[1]; redis.call("SET", "key1", cjson.encode(obj));' 0 "did_change"
यदि आप चाहें तो किसी भी कुंजी के JSON उप-वस्तुओं को संपादित करने के लिए आप लुआ में कुछ और भी उन्नत बना सकते हैं।
लॉक का उपयोग कैसे करें, इसके उदाहरण के लिए Redis SETNX कमांड डॉक्स देखें।