Redis cjson: есть ли способ манипулировать JSON без его полного декодирования?
Учитывая приведенный ниже пример, есть ли способ изменить значение с "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"
Ссылка на пример: https://redis.io/commands/eval
1 ответ
Решение
Нет, вам придется пройти полный цикл декодирования и кодирования. Это как раз та "боль", которую пытается решить http://rejson.io/. См. Http://rejson.io/performance/#comparison-vs-server-side-lua-scripting для получения дополнительной информации.
Отказ от ответственности: автор ReJSON здесь.