Redis
 sql >> Base de données >  >> NoSQL >> Redis

Vous travaillez avec des objets imbriqués dans Redis ?

Un script Lua ou un schéma de verrouillage résoudrait votre problème.

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

Vous pouvez même créer quelque chose de plus avancé dans Lua pour modifier les sous-objets JSON de n'importe quelle clé si vous le souhaitez.

Consultez la documentation de la commande Redis SETNX pour un exemple d'utilisation d'un verrou.