给定下面的例子,有没有办法在不解码的情况下将值从“bar”更改为“blah”?
redis 127.0.0.1:6379> eval 'return cjson.encode({["foo"]= "bar"})' 0
"{\"foo\":\"bar\"}"
redis 127.0.0.1:6379> eval 'return cjson.decode(ARGV[1])["foo"]' 0 "{\"foo\":\"bar\"}"
"bar"
给定下面的例子,有没有办法在不解码的情况下将值从“bar”更改为“blah”?
redis 127.0.0.1:6379> eval 'return cjson.encode({["foo"]= "bar"})' 0
"{\"foo\":\"bar\"}"
redis 127.0.0.1:6379> eval 'return cjson.decode(ARGV[1])["foo"]' 0 "{\"foo\":\"bar\"}"
"bar"
不,你必须经历一个完整的解码和编码周期。这正是http://rejson.io试图解决的“痛点”之一。有关更多信息,请参阅http://rejson.io/performance/#comparison-vs-server-side-lua-scripting。
免责声明:这里是 ReJSON 的作者。