2012-05-23 9 views
0

Je possède actuellement un ensemble de données redis avec une clé représentant les identifiants et les valeurs sous forme de json. J'ai besoin d'ajouter une nouvelle entité dans le json pour chaque utilisateur (clés). Existe-t-il un outil opensource existant? Quelle est la façon dont je devrais procéder à la mise à jour pour les clés de données 1M.Mise à jour de la valeur Redis

Répondre

3

Il y a quelques possibilités:

  1. Voici quelques pseudo-code pour ce faire avec Redis 2.6 scripts 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. court de cela, vous devrez peut-être arrêter le service et le faire avec GETs et SETs puisque vous n'avez probablement pas un mécanisme de verrouillage en place. Si vous pouvez appliquer un verrou, voir http://redis.io/commands/setnx

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

Notez cette réponse a été adaptée à ma réponse à: Working with nested objects in Redis?

Questions connexes