sql >> Base de Datos >  >> NoSQL >> Redis

¿Trabajando con objetos anidados en Redis?

Las secuencias de comandos de Lua o un patrón de bloqueo resolverían su problema.

EVAL 'local obj = cjson.decode(redis.call("GET", "key1")); obj.prop1.subprop1 = ARGV[1]; redis.call("SET", "key1", cjson.encode(obj));' 0 "did_change"

Incluso podrías hacer algo más avanzado en Lua para editar los subobjetos JSON de cualquier tecla si quisieras.

Mire los documentos de comandos de Redis SETNX para ver un ejemplo de cómo usar un candado.