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

Mise à jour de la valeur Redis

Il existe plusieurs possibilités :

  1. Voici un pseudo-code pour faire cela avec les scripts Redis 2.6 Lua.

    for userid in users:
        EVAL 'local obj = cjson.decode(redis.call("GET", KEY[1])); obj.subobj.newjsonkey = ARGV[1]; redis.call("SET", KEY[1], cjson.encode(obj));' 1 userid "new value!"
    
  2. En dehors de cela, vous devrez peut-être arrêter le service et le faire avec des GET et des SET, car vous n'avez probablement pas de mécanisme de verrouillage en place. Si vous pouvez appliquer un verrouillage, consultez http://redis.io/commands/setnx

  3. Il existe quelques outils pour mettre à jour un rdb. https://github.com/sripathikrishnan/redis-rdb-tools https://github.com/nrk/redis-rdb

Remarque, cette réponse a été adaptée à ma réponse à :Travailler avec des objets imbriqués dans Redis ?